Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2002.12.02;
Скачать: CL | DM;

Вниз

Коннект к запущенному СОМ-обьекту   Найти похожие ветки 

 
----   (2002-11-19 18:51) [0]

Есть СОМ-обьект TMyCom

IMy = interface
...
end;

TMyCom = class(TComObject,IMy)
...
end;

var
i1, i2: IMy;
begin
i1:=CreateComObject(const_guid) as IMy;//создали экземпляр №1
end;

ВОПРОС:
как можно сделать следующее:
if Обьект(const_guid)_уже_создан then
i2:=ДатьОбьект(const_guid);
else
i2:=CreateComObject(const_guid) as IMy;


 
KA_   (2002-11-19 19:03) [1]

Обьект(const_guid)_уже_создан - это GetActiveOleObject.


 
KA_   (2002-11-19 19:05) [2]

Ну да, заодно это и ДатьОбьект(const_guid) :)


 
----   (2002-11-20 12:41) [3]

GetActiveOleObject - не работает....эта функция работает, если IMy унаследован от IDispatch....а если от IUnknown, то это не прокатывает.

Посему, вопрос остается открытым!!


 
KA_   (2002-11-21 09:22) [4]

Объект надо сначала зарегистрировать! Посмотри хелп.


 
----   (2002-11-21 12:08) [5]

Я обьект зарегистрировал. Если б я этого не сделал, то CreateComObject не работал бы....а оно работает.

Мне нужно вот что сделать:
1. я создаю СОМ-обьект CreateComObject(AGUID)
2. работаю с ним.
3. потом мне нужно проверить, существует ли запущенный обьект с GUID"ом AGUID. Если существует, то не создавать, а просто получить ссылку на него и работать с ним....Если не существует, то идем на пункт 1.

CetActiveOleObject - НЕ работает!!!!!


 
asmith   (2002-11-21 12:49) [6]

GetActiveOleObject будет работать, если только объект зарегистрируется в так называемой running object table (ROT), для этой цели используется интерфейс IRunningObjectTable. Подробности ищи в MSDN, Platform SDK, COM



Страницы: 1 вся ветка

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

Наверх




Память: 0.47 MB
Время: 0.016 c
1-4310
Борис
2002-11-21 13:25
2002.12.02
CreateProcess Ошибка!


1-4459
Азазелло
2002-11-20 12:33
2002.12.02
Crystal Report 8.5 + VCL


1-4475
Explorer
2002-11-20 13:04
2002.12.02
Экспорт в Excel XP для FastReport


1-4448
zam2000
2002-11-20 10:28
2002.12.02
как сделать разрыв страницы в RichEdit при печати


1-4282
Walker
2002-11-20 12:53
2002.12.02
UN Format???