Type information missing for class XXX

Hi to all,

Today I ran into this error "Type information missing for class xxx",
followed by error 217.
I read some newsgroup postings from other people with the same problem.
Since I just
solved it for myself, I want to share what my problem was, so maybe someone
can benefit from it.

I have an COM Server application with a typelibrary that contains a CoClass
called "Application".
The Application object is implemented by an object called TSuiteExplorerApp.
That object provides
access to another COM Server application that implemented an objected called
"Automation" as well.
The unit implementing TSuiteExplorerApp used the ..._TLB file (imported by
Delphi) of the other application
in order to use late binding.

What was the problem?
Both  ..._TLB files defined a constant called CLASS_Application (since both
contained a CoClass called Application).
but they didn't have the same GUID value (of course).

Now the initialization code for the unit implementing TSuiteExplorerApp
called TAutoObjectFactory.Create
and passed in the CLASS_Application constant. BUT it turned out that is was
passing the one of the imported
Automation object, instead of the one that was in my own ..._TLB file!!

Solution: I renamed the CLASS_Application variable in the ...._TLB file for
the imported automation object.

I hope this might help some of you to solve it much quicker than I did ;)

Jeroen Bijleveld