Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Основная";
Текущий архив: 2002.06.27;
Скачать: [xml.tar.bz2];

Вниз

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;
Скачать: [xml.tar.bz2];

Наверх




Память: 0.44 MB
Время: 0.008 c
1-88875
sasa2001
2002-06-14 10:19
2002.06.27
Как проверить зарег-ан ли в системе midas.dll и если нет сделать


1-88817
esprit_bel
2002-06-10 08:34
2002.06.27
Диск


1-88933
Sniffer
2002-06-15 11:22
2002.06.27
Файлы ресурсов


1-88854
Дельфятник
2002-06-17 17:25
2002.06.27
Можно ли уменьшить размер заголовка TTabSheet, и если да, то как?


1-88863
Charlz
2002-06-17 18:09
2002.06.27
Как заменить символы в строке





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский