Tek-Tips is the largest IT community on the Internet today!

Members share and learn making Tek-Tips Forums the best source of peer-reviewed technical information on the Internet!

  • Congratulations strongm on being selected by the Tek-Tips community for having the most helpful posts in the forums last week. Way to Go!

430: Class does not support Automation

Status
Not open for further replies.

sifitz

Programmer
Feb 27, 2002
47
GB
I have a DLL I have created in VB and my application calls classes from this DLL. I have installed the application and DLL on all client machines and all have been fine except one. This machine does not have conflicting versions of the DLL. Also, I haven't change the project from an ActiveX Exe to a DLL.

I am getting this error on one computer only. I have checked the registry which seems to be ok and I have unregistered and re-registered the DLL but nothing seems to make any difference.

Any Ideas on what I should be looking for?

Thanks

Si [afro]
 
Sounds like a bad registry entry... Since you say that it registers just fine, I'm assuming that there's "extra" information in the registyr entries, so simply unregistering the DLL won't resolve it, because that will only remove the "valid" registry entries. Go through Regedit and try cleaning up that way. After everything pointing to your object is gone, then you can try reregistering.

You could also start with dumping the registry entries for a "good" machine and comparing those with the entries from the "bad" one.
 
Thanks for the reply,

I have gone though the registry and I have checked for any reference to the DLL name, class name and CLSIDs. It all seems OK.

What I wanted to do was step through the DLL project code on the problem pc from main EXE project code. My project has binary compatibility but wouldn't run and gave the "Error in loading DLL (Error 48)". The DLL that it was referencing for binary compability is fine.

Any ideas?

Thanks

Si [afro]
 
Not sure what the problem is, did you look and see if there were any problems with the TypeLib IDs or interface IDs, etc. You could open the DLL on a good machine with OLE Viewer and write down all the GUIDs for everything in it and then check the bad machine's registry for those.

You could try (on the bad machine) removing the compatibility (letting VB generate new GUIDs) and see if it loads. That might help determine if it's conflicting GUIDs or if it's something else in the DLL that has a problem. Does it load any other objects inside of the DLL? Incase one of those is bad.
 
I am going to have a look at the typelib but I am not able to at the minute. Selfish user needs the PC...

As for testing the project without binary compatibility, I have tried it (I ran the DLL in Debug mode with no compatibility and referenced this DLL from the EXE code) and it works fine.

I am baffled.

Si [afro]
 
Are you sure the application EXE on that one machine is the correct version, and that same version is the one that was compiled with the correct DLL version?

If not, you will get this error with binary compatibility. [/b][/i][/u][sub]*******************************************************
General remarks:
If this post contains any suggestions for the use or distribution of code, components or files of any sort, it is still your responsibility to assure that you have the proper license and distribution rights to do so!
 
I have checked versions of the application and DLL version and they are fine.

The application has been working with the same DLL since it was created regardless of the version of the application. The DLL was created before the application so that hasn't been a problem. Until now, both application and DLL had been working fine on multiple machines.

Si [afro]
 

>The DLL was created before the application

If this is so, and the Dll hasn't been compiled again since, then I would first get a copy of the original dll and test that, just in case the Dll is defect.

If problem still exists, then remove the Dll from the client, run a registry cleaner to remove all entries of this dll, and then re-install it. [/b][/i][/u][sub]*******************************************************
General remarks:
If this post contains any suggestions for the use or distribution of code, components or files of any sort, it is still your responsibility to assure that you have the proper license and distribution rights to do so!
 
Status
Not open for further replies.

Part and Inventory Search

Sponsor

Back
Top