Discussion Locked

Has anyone fixed the DAX Error?

0 helpful
6 replies
Closed to new repliesThis discussion is closed. It stays readable, but it takes no new replies.
I have read several different reasons for the 'DAX Error Interface Not Supported' message popping up. Starting to research it & so far only an upgrade to NAV8.0 seems to be a possible common cause, or DLL files needing to be updated. Has anyone fixed this problem yet? If so, what did you use to fix it?

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 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

This discussion is closed to new replies.