G
Guest
I have a VB6 executable that references a .NET 2.0 dll.
The .NET 2.0 dll project has 'Register for COM Interop' checked. Thus,
compiling the dll will generate the .tlb file. This will allow early binding
to work from VB6.
I copied the VB6 exe and the .NET dll to a 32 bit OS. I copied the tlb file
to system32. When I execute the VB6 exe and call the .NET dll it works fine.
NOW, if I copy the VB6 exe and the .NET dll to a 64 bit OS and execute it, I
get the 'ActiveX cannot create object' error. I tried both, early and late
binding but I keep getting the same error.
If I call the .NET dll from another .NET app on a 64 OS, it works fine.
Is there anything different that I would have to do in order to get the VB6
application to call a .NET dll while running on a 64 bit OS?
The .NET 2.0 dll project has 'Register for COM Interop' checked. Thus,
compiling the dll will generate the .tlb file. This will allow early binding
to work from VB6.
I copied the VB6 exe and the .NET dll to a 32 bit OS. I copied the tlb file
to system32. When I execute the VB6 exe and call the .NET dll it works fine.
NOW, if I copy the VB6 exe and the .NET dll to a 64 bit OS and execute it, I
get the 'ActiveX cannot create object' error. I tried both, early and late
binding but I keep getting the same error.
If I call the .NET dll from another .NET app on a 64 OS, it works fine.
Is there anything different that I would have to do in order to get the VB6
application to call a .NET dll while running on a 64 bit OS?