поймать событие в диалоге в избранное  новое    подписка   модер. 
От: Аноним 938 
Дата: 25.04.03 13:04
Ситуация такая — есть СОМ объект, он генерирует событие Х
мне в диалоге надо поймать это событие

я так понимаю что для этого надо чтобы класс, производный от ЦДиалога был унаследован от _IMy — outgoing-интерфейс
и вызвать AtlAdvise для Моего Цдиалога + реализовать в нем функцию X

чтобы унаследовать от _IMy и не реализовывать руками QueryInterface и т.д. надо унаследовать от какогото АТЛ-шаблона типа CTemplate<_IMy>

вопрос в следующем — что это за шаблон????


или как еще это можно сделать с наименьшими трудозатратами
Re: поймать событие в диалоге в избранное  новое    модер. 
От: culver 
Дата: 25.04.03 13:08
Здравствуйте, Аноним, Вы писали:

Можно класс диалога унаследовать от IDispEventImpl, в котором прописывается откуда вызывается событие.
Тогда еще надо добавить
BEGIN_SINK_MAP(...)
SINK_ENTRY_EX(...)
END_SINK_MAP()
Re: поймать событие в диалоге в избранное  новое    модер. 
От: Vi2 rsdnhttp://www.adem.ru
Дата: 25.04.03 13:26
Здравствуйте, Аноним, Вы писали:

А>чтобы унаследовать от _IMy и не реализовывать руками QueryInterface и т.д. надо унаследовать от какогото АТЛ-шаблона типа CTemplate<_IMy>
А>вопрос в следующем — что это за шаблон???? или как еще это можно сделать с наименьшими трудозатратами

Статья на сайте Как подключиться к событиям СOM-объекта на С++
Vita
Выше головы не прыгнешь, ниже земли не упадешь, дальше границы не убежишь! © КВН НГУ
Re[2]: поймать событие в диалоге в избранное  новое    модер. 
От: Аноним 938 
Дата: 25.04.03 13:37
Здравствуйте, culver, Вы писали:

C>Здравствуйте, Аноним, Вы писали:


C>Можно класс диалога унаследовать от IDispEventImpl, в котором прописывается откуда вызывается событие.

C>Тогда еще надо добавить
C> BEGIN_SINK_MAP(...)
C> SINK_ENTRY_EX(...)
C> END_SINK_MAP()
что-то я не понял синтаксиса SINK_ENTRY_EX — при чем тут идентификатор контрола???

у меня событие генерирует сам объект
Re[3]: поймать событие в диалоге в избранное  новое    модер. 
От: culver 
Дата: 25.04.03 13:45
Здравствуйте, Аноним, Вы писали:

А>у меня событие генерирует сам объект

Приблизительно так

SINK_ENTRY_EX(1, DIID__IMyEvents, 1, Method)

Method--обработчик события, которое гинерирует объект
Re: поймать событие в диалоге в избранное  новое    модер. 
От: KGPhttp://kornilow.newmail.ru
Дата: 29.04.03 05:12
Здравствуйте, Аноним, Вы писали:

А>Ситуация такая — есть СОМ объект, он генерирует событие Х

А>мне в диалоге надо поймать это событие

А>я так понимаю что для этого надо чтобы класс, производный от ЦДиалога был унаследован от _IMy — outgoing-интерфейс

А>и вызвать AtlAdvise для Моего Цдиалога + реализовать в нем функцию X

А>чтобы унаследовать от _IMy и не реализовывать руками QueryInterface и т.д. надо унаследовать от какогото АТЛ-шаблона типа CTemplate<_IMy>


А>вопрос в следующем — что это за шаблон????



А>или как еще это можно сделать с наименьшими трудозатратами


Есть такой парень ...
"Vjacheslav Min" <vvmin@hotmail.com>
он по моей просьбе выслал Wisard, который генерит h&cpp файлы для работы с событиями — пошли ему письмо и попроси, может вышлет ...
Удобная штука ... ATL и MFC варианты