I have a VB6 COM DLL that was developed on a WinXP 32bit system. It works fine on that PC from C#, VB6, and Python applications. I am testing the DLL on another WinXP 32bit system and on Win7 32bit and 64bit. The Python program runs fine on any system. The VB6 program gives ‘error 429: ActiveX component can’t create object’.
Dim foo As testdll.Class1
MsgBox (1)
Set foo = New testdll.Class1
MsgBox (2)
The program sees the dll, since the first MsgBox displays fine, but the second one doesn’t after trying to create an object. Any ideas?
The Python script is probably creating late bound instances via ProgId. My guess is you haven’t maintained binary compatibility on this DLL so ClassId values have changed, causing problems for early bound client code such as your VB6 client.