Создание экземпляра Com обьекта

Модераторы: Hawk, Romeo, Absurd, DeeJayC, WinMain

Ответить
RaTyS
Сообщения: 3
Зарегистрирован: 31 дек 2009, 08:25

Добрый день, уважаемые программисты.
Впервые сталкиваюсь с COM Технологией, возник вопрос:

Я создал отдельное решение, в котором обьявляется COM обьект.
Следовательно он зашивается в библиотеку (.arx), адрес которой регистрируется в реестре.
CLSID обьекта :{486EE064-6283-4A2D-8BB7-CEF1F5E75DE9}

Теперь мне нужно из другого решения создать экземпляр этого обьекта, зная лишь его CLSID
Неужели это невозможно? Как я понял COM технология основывается на том, что обьект из реестра можно загрузить хоть откуда.

Если это возможно, прошу привести пример обьявления COM обьекта.
Заранее спасибо.
RaTyS
Сообщения: 3
Зарегистрирован: 31 дек 2009, 08:25

Извиняюсь за бескопойство.Но вроде как справился своими силами, нашел два способа:
1.Через IClassFactory
2.С помощью класса CComObject
Аватара пользователя
Romeo
Сообщения: 3126
Зарегистрирован: 02 мар 2004, 17:25
Откуда: Крым, Севастополь
Контактная информация:

Через ICLassFactory слишком наворочено. Вообще для этих целей есть COM API функция CoCreateInstance, она же вызывается внутри CComObject::CreateInstance.
Entites should not be multiplied beyond necessity @ William Occam
---
Для выделения С++ кода используйте конструкцию [ code=cpp ] Код [ /code ] (без пробелов)
---
Сообщение "Спасибо" малоинформативно. Благодарность правильнее высказать, воспользовавшись кнопкой "Reputation" в виде звёздочки, расположенной в левом нижнем углу рамки сообщения.
Ответить