Здравствуйте, Аноним, Вы писали:
А>Привет Всем!
А>Есть СОМ сераер в EXE. У него есть интерфейс IX и proxy/stub dll. Эта dll регистрируется правильно:
А>HKEY_CLASSES_ROOT А> CLSID А> {proxy dll GUID} А> InprocServer32 c:\ps.dll
А> А> Interface А> {IX GUID} А> ProxyStubClsid32 {proxy dll GUID}
А>Но при запросе клиентом этого интерфейса, ps.dll не загружается... и возвращается E_NOINTERFACE.
Где и как объявлен IX в midl'e? Чтобы для него использовались/создавались proxy/stub, он не должен быть объявлен с аттрибутом local и/или быть внутри library блока.
В реестре dll зарегистрирована правильно, но что зарегистрировано для интерфейса? Запусти OLE/COM object viewer, найди в дереве Interfaces свой IX (если он там вообще есть) и посмотри у него ProxyStubClsid.