64-bit C # with 32-bit VB6 COM object

I have a 32-bit in-process STA VB6 DLL. I regret that there is nothing I can do about it. My C# components greatly benefit from 64-bit. Anyway I call/interface from my 64-bit process This 32-bit dll? Any kind of packaging or anything?
There is no direct way to do this.

Because you can’t port VB6 inproc dll, I suggest you write a 32-bit out-of-process server that implements the same interface and delegates it to the VB6 code. Then, your 64-bit application can call the out-of-process server because COM will be responsible for marshalling one of the processes Type of space.

It’s not pretty, it’s kind of feasible!

I have a 32-bit in-process STA VB6 DLL. I regretfully cannot do anything about it. My C# components benefit greatly from 64-bit. Anyway from my 64-bit Process call/interface this 32-bit dll? Any kind of packaging or anything?

There is no direct way to do this.

Since you cannot port VB6 inproc dll, I suggest you write a 32-bit process Out-of-process server, which implements the same interface and delegates it to the VB6 code. Then, your 64-bit application can call the out-of-process server because COM will be responsible for marshalling the types between processes.

It Not pretty, kind of feasible!

Leave a Comment

Your email address will not be published.