Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2002.06.27;
Скачать: 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 вся ветка

Текущий архив: 2002.06.27;
Скачать: CL | DM;

Наверх




Память: 0.47 MB
Время: 0.039 c
14-89007
lipskiy
2002-05-22 22:36
2002.06.27
Вот уж такого я не ожидал :( {Снова про базу готового кода UBPFD}


3-88778
Vrach
2002-06-05 17:02
2002.06.27
Можно ли в DBGrid в ячейке отобразить строчку+


14-88999
Igorek
2002-05-23 17:02
2002.06.27
КОНКУРС!


1-88944
mazepa
2002-06-15 12:01
2002.06.27
Как освободить память от массива


1-88865
anod
2002-06-17 17:02
2002.06.27
Как отобразить виртуальные папки