Вниз
Скачать: 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
1-88865
anod
2002-06-17 17:02
2002.06.27
Как отобразить виртуальные папки


1-88889
Login5
2002-06-09 03:15
2002.06.27
Как повесть программу поверх всех окон?


1-88884
Transnet.
2002-06-14 12:35
2002.06.27
Кaк вырубить, а пoтом снова врубить мышь???


3-88727
Patrick
2002-06-04 09:22
2002.06.27
InterBase&BLOB


14-89017
OOPS!!
2002-05-23 15:25
2002.06.27
Photoshop, Winamp, CorelDraw, 3DStudio, Half-Life, Quake, ACDSEE.




   Наверх