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

Вниз

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

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

Наверх





Память: 0.46 MB
Время: 0.008 c
3-4182
s_karm
2002-11-11 11:32
2002.12.02
создание базы


6-4561
tararasyk
2002-10-04 23:54
2002.12.02
Входящии звонки


3-4206
Yazilimci
2002-11-13 15:26
2002.12.02
Vapros:


14-4596
Ketmar
2002-11-11 12:29
2002.12.02
хочу финдиперцевый значок зеленого цвету!


1-4472
Gogi
2002-11-20 13:47
2002.12.02
Окна нестандартных форм





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
Английский Французский Немецкий Итальянский Португальский Русский Испанский