Главная страница
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-37638
Эли
2003-12-27 13:20
2004.01.13
Добавить иконку в EXE файл


1-37771
klyonov
2003-12-29 15:51
2004.01.13
как убрать published-свойство?


1-37688
___Nikolay
2003-12-25 09:08
2004.01.13
Вопрос про MicroStation


14-37860
ИМХО
2003-12-20 12:02
2004.01.13
Microsoft Exchange


1-37761
Alexander_spb
2003-12-29 20:07
2004.01.13
TCanvas