Re[2]: How to fire COM-event from aggregated coclass
От: slava_529872  
Дата: 15.06.05 15:11
Оценка:
Здравствуйте, sakhnik, Вы писали:

S>По-моему, аггрегированный объект ничего не знает о его использующем. Может, следует выбрасывать событие из какого-нибудь метода интерфейса внешнего объекта? То есть, в аггрегированном:

S>
S>CComQIPtr<IOuter> outer;
S>outer = pUnkOuter; // Указатель передаётся в CoCreateInstance
S>outer->FireEvent1(parm);
S>

S>Во внешнем:
S>
S>STDMETHODIMP COuter::FireEvent1(LONG parm)
S>{
S>    return Fire_OnEvent1(parm);
S>}
S>


Так у меня сейчас и сделано. Событие генерирует внешний кокласс по просьбе внутреннего
Но в моём случае набор событий строго ограничен и агрегируемый кокласс всё о них знает. Т.е. он как бы является базовым для постоения на его базе других. Т.е. базовый с логической точки зрения может сгенерить событие. Но кроме указателя на внешний IUnknown у него ничего нет. Есть ли какой нужный и полезный для этого случая интерфейс у класса публикующего события...?

Je vous remercie beaucoup, monsieur!
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.