Главная страница
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.017 c
8-88966
Tpv
2002-02-15 21:55
2002.06.27
Уровень звукого сигнала.


6-88981
ATLANTIDO
2002-04-16 23:55
2002.06.27
Сетевое окружение


14-89016
allrussia
2002-05-21 09:03
2002.06.27
COBMECTuMOCTb


3-88767
sergey32
2002-06-05 10:10
2002.06.27
Кто-нибудь знает как подконнектится к базе UNIFY


1-88917
любитель
2002-06-14 12:56
2002.06.27
Что не правельно делаю?