Вниз
Скачать: CL | DM;

Delphi & COM   Найти похожие ветки 

 
Nebula ©   (2002-06-14 13:58) [0]

Создаем ActiveX библиотеку и несколько COM объектов. Все стандартное, с помощью мастера. На каждый объект создается отдельный файл с описанием класса. В секции initialization создается соответствующая фабрика класов. Теперь мне нужно использовать данный объект в другой программе, не как COM объект (CreateComObject...) а именно как Delphi класс, просто подключая к проекту соответствующий модуль. Так вот при запуске этого проэекта возникает ошибка "Type information missing for class xxx" на строке создания фабрики классов для объекта xxx, а если ее убрать, то при создании экземпляра этого класса возникает ошибка "Object factory for class xxx missing". Как использовать класс описывающий COM объект в других приложениях?


 
Romkin ©   (2002-06-14 14:32) [1]

Вроде понятно - в dll были созданы COM-объекты, имеющие type library. Вставлять модуль кокласса в другой проект можно, создав для него type library и поменяв GUID кокласса, но, думаю, требуется не совсем это. Библиотека коклассов уже создана, и если функциональность интерфейса менять не предполагается, то и вставлять в проект надо только описание библиотеки типов (import type library) - в этом случае возможна реализация раннего связывания. Создание же кокласса можно производить не через CreateComObject, а через CoGetClassObject а затем IClassFactory.CreateInstance - в том случае, если нужно создавать сразу несколько объектов
Если нужна возможность использовать модули кокласса в разных проектах, то надо создавать COM объект как потомок IUnknown, либо с internal instance либо просто как потомок TInterfacedObject



Страницы: 1 вся ветка

Скачать: CL | DM;



Память: 0.45 MB
Время: 0.008 c
7-89047
Игорек
2002-03-29 12:46
2002.06.27
Файловая система


14-89030
MaximatorVeter
2002-05-23 17:47
2002.06.27
Что ещё предстоит сделать программистам?


14-89012
MaximatorVeter
2002-05-21 19:47
2002.06.27
Как стать Билл Гейтсом?


7-89050
Advokat
2002-04-01 21:35
2002.06.27
Ctr+Alt+Del в 98 и чтобы в 2к не было глюков


6-88977
Brand
2002-04-09 14:30
2002.06.27
ICQ




   Наверх