Форум: "Основная";
Текущий архив: 2004.01.13;
Скачать: [xml.tar.bz2];
ВнизКак дождаться события? Найти похожие ветки
← →
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;
Скачать: [xml.tar.bz2];
Память: 0.45 MB
Время: 0.009 c