Using 32 bit COM object on 64bit machine

Spek

Member
Joined
Nov 6, 2009
Messages
10
Programming Experience
Beginner
Hi,

I wonder if/how to use a 32 bit DLL on a 64 bit machine. The situation is like follows:

Autocad Inventor(64 bit program) can launch plugin DLL's. The plugin DLL in this case is programmed with VB.NET 2008 Express edition. As far as I know, I can only choose "Any CPU" when building the DLL with the Express edition.

This DLL makes uses of a COM object called Isah IERPlink, a piece of software that is used with a 32 bit package. So in my bin directory this DLL will be added "interop.IERPlink.dll". I guess this DLL is specified for 32 bit CPU's, but I'm not sure.

Both Autocad, it's plugin and Isah(32 bit) are working on the 64bit Vista machine. But I'm not sure if the link between the plugin and the COM object works... So in short:

Autocad (64 bit) --> MyPlugin.DLL (Any CPU) --> Interop.IERPlink.DLL (?) --> Isah program (32 bit)

Will this work?
 
As far as I know, I can only choose "Any CPU" when building the DLL with the Express edition.
No, you can target different platforms, you have to 'create new' and select the specific cpu.

I don't think that will work, unless you can run the app as 32bit process also.
 
From what I understand, you'll have to run in a 32 bit modus if you want to make use of other 32bit components that share memory. So that means I would need to specify the CPU as 32 bit for this project?

Then again, the plugins gets launched by a 64 bit program here. What does "Any CPU" exactly do in this case? Will it automatically adapt to 64bit? The whole thing works on a 32bit machine, with 32bit Autocad of course.

Thanks,
Rick
 
Back
Top