Вниз
Скачать: 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.009 c
1-88891
Akni
2002-06-14 00:48
2002.06.27
Свойства компонента


4-89077
Gayrus
2002-04-27 10:04
2002.06.27
Hook


1-88892
Arhangel
2002-06-14 15:10
2002.06.27
Меню пуск


1-88931
dimonf
2002-06-14 23:11
2002.06.27
Как послать через модем на факс информацию?


14-89037
Kozhanov
2002-05-13 14:45
2002.06.27
need some help




   Наверх