Level Extreme platform
Subscription
Corporate profile
Products & Services
Support
Legal
Français
ActiveX DLL to EXE
Message
From
14/11/2002 09:50:50
 
 
General information
Forum:
Visual Basic
Category:
COM, DCOM and OLE automation
Miscellaneous
Thread ID:
00716244
Message ID:
00722672
Views:
14
>I'm getting a "Run-time error: 430 - Class does not support Automation or does not support expected interface" error when I try to use CreateObject() to create my ActiveX EXE object. According to MSDN:
>


>CAUSE
>The error results from project compatibility and the change of the project type from DLL to EXE. In project compatibility, Visual Basic preserves the Class ID (CLSID) of the class but not the Interface ID (IID). Because the CLSID is preserved, the class ends up being registered with two servers; the in-proc server (DLL) and the local server (EXE). As you create an instance of the class from a client, the class from the DLL is chosen. Because the class from the DLL does not support the new IID, the above error occurs.
>
>RESOLUTION
>Use the RegSvr32.EXE utility to unregister the old DLL server and re- register the new EXE server to eliminate this error.
>


>I've tried to unregister both the DLL and the EXE and recompiling the EXE but it still doesn't work. Even using the REGEDIT to manually delete all references to the DLL & EXE before recompiling doesn't help. Anyone know a fix? TIA.

Did you remove the DLL reference on your VB project before the above steps?

After everythings been unregistered and the DLL re-compiled (close any other projects while this happens) then come back to your EXE project and add the reference to the DLL. HTH
Previous
Reply
Map
View

Click here to load this message in the networking platform