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

Вниз

Как дождаться события?   Найти похожие ветки 

 
Unknown   (2003-12-25 19:32) [0]

Здравствуйте!

Есть COM объект1 оформленный ввиде DLL с одной единственной процедурой. В этой процедуре создается еще один COM объект2 вызывается его метод а далее я должен дождатся события COM объекта 2. Этого я пытаюсь достигнуть при помощи флага который устанавливается в обработчике события и Application.ProcessMessages.
Т. е. код приблизительно такой:
while not FGetParamComplete do
Application.ProcessMessages;

Событие у меня не вызывается и из цикла я естественно никогда не выхожу. Раскажите, как мне разрешить это проблему, как мне получить событие?
Помогите пожайлусто!!!


 
Ломброзо ©   (2003-12-25 21:01) [1]

Ну и дож#дайтесь... если он события генерирует...
IConnectionPointCOntainer, ICOnnectionPoint::Advise, а если на ++ то всё ещё проще - IDispEventImpl<> или ISimpleDispEventImpl<>


 
Unknown   (2003-12-26 09:29) [2]

Так в том то и дело что события происходят, но у меня они почемуто не вызываются. Я попробовал создать отдельный проект (.exe) и там все события вызываются, так как там Application.ProcessMessages отрабатывает. А в моей Dll почему то нет.


 
Ломброзо ©   (2003-12-26 10:25) [3]

> while not FGetParamComplete do
> Application.ProcessMessages;

Мойшет, я чего-то недопонимаю, но _так_ c событиями в COM не работают.


 
Unknown   (2003-12-26 11:05) [4]

Все, я разобрался. Дело оказывается в том, что в приложении к которому я подсоединяюсь и хочу получать события реализует механизм подключения приемников событий по иному механизму. Т. е. события я смог получить от COM сервера только тогда когда создал его т.е. вызвал метод CoClass.Create, а если я получил существующий уже существующий интерфейс и подключил его к wrapper классу то Advise не вызывался.



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

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

Наверх




Память: 0.47 MB
Время: 0.02 c
1-37785
Mike_forewer
2003-12-27 19:36
2004.01.13
Фон в MainMenu


1-37743
alexnmsk
2003-12-30 09:19
2004.01.13
Изменение размера формы


3-37550
dma
2003-12-14 20:15
2004.01.13
Master-Detail между двумя DBLookupComboBox`ами


3-37579
gestern
2003-12-14 23:04
2004.01.13
InterBase


3-37537
DimonNew
2003-12-17 14:07
2004.01.13
ADO без DSN (Paradox, dBase, FoxPro, Access)