6 replies
by ann777
http://www.absolute-research.com/dcom/DCOM&COMNotes/DCOM&COMNotes.htm#DAXErrorClassFactory
“DAX Error: ClassFactory cannot supply requested class.”
a. Possible Cause: This is a very obscure and tricky one. It is a little confusing, but bear with me. Having two servers registered that share the same file name and same path can cause this error. To make matters worse, let us now suppose that both of them have completely different type libraries and COM objects. If you request an object from the server, and the current server in that path does not contain that class, it will return the aforementioned error. Now, let me explain how this can happen to you unknowingly: i. Let us pretend you write MyServer.DLL that has a COM object called TMyThing.
ii. Let us suppose you have a specific directory you always compile to, c:\temp for example.
by ann777
iii. You register c:\temp\MyServer.DLL using regsvr32.
iv. The registry now knows that MyServer.DLL is at c:\temp v. A few weeks later, you write another server and give it the name MyServer.DLL by accident.
vi. You create a totally different COM object called TADifferentClass for your new server.
vii. Since you always compile to c:\temp, it puts MyServer.DLL over top of your old MyServer.DLL server.
viii. You register the server using regsvr32
ix. You now have two separate COM objects pointing to that .DLL! Unfortunately, it only contains one COM object! TADifferentClass! x. Any calls to that .DLL will generate this DAX error since it cannot figure out what you want.
xi. The Solution is to work in reverse:
1. Use c:\temp\regsvr32 –u MyServer.DLL. This will un-register the current server from the registry.
2. Recopy your original MyServer.DLL (The one that has the TMyThing COM Object in it) into c:\temp.
3. Use c:\temp\regsvr32 –u MyServer.DLL again. This will un-register the old server from the registry.
4. Now you are free to do as you please since both are unregistered. You will most likely want to recopy your new server back into c:\temp and reregister it again.
by dnr1795
Fixed the DAX error b4 I got a chance to apply UR solution so not sure if this would have fixed it or not. Just reapplied the latest service pack & DAX error disappeared.
Thank you for your response to my question
by dmiles
by dnr1795
Fixed the DAX error b4 I got a chance to apply UR solution so not sure if this would have fixed it or not. Just reapplied the latest service pack & DAX error disappeared.
Thank you for your response to my question
by dnr1795
This discussion is closed to new replies.
Trending Desktop posts
Sort by Trending