Hello, I've been wondering why in XPCOM you do not register the interfaces. If you've got an implementation, you register your ClassID, classname and contractID. However, you do not register the interfaces. Therefor, you cannot ask XPCOM to find an implementation for a particular interface. You have to `know' that there is an implementation, use the contractID or ClassID of that implementation to query the class if it really implements the interface. This sounds quit complicated to me. Why not just register the interfaces?.... It's not like there are a million interfaces in one class. In general, a class only contains a very small number of interfaces (typically 1?) There must be a good reason for this. I hope it's not something like: `COM does it too...' Greetings, Marco Bosch Btw: There are two implementations in Mozilla that implement incorrect contractIDs: "@mozilla.org/layout/htmlCopyEncoder" doen't contain a version, like ";1" "component://netscape/messenger/movemailservice" doesn't look like a contractID.
