Re[3]: Вопрос для профессионалов. Подключение к событиям.
От: IT Россия linq2db.com
Дата: 31.05.01 14:14
Оценка:
K>И как это сделать на С++ в пределах топика?
K>На VB это выглядит как dim withevents MyVar as MyObject, а на плюсах?

Как и для любого другого объекта:
1. Запрашиваешь IConnectionPointContainer
2. Вызываешь FindConnectionPoint для получения IConnectionPoint
3. Вызываешь Advise

А лучше восрользоваться ATL'евской функцией AtlAdvise


ATLAPI AtlAdvise(IUnknown* pUnkCP, IUnknown* pUnk, const IID& iid, LPDWORD pdw)
{
IConnectionPointContainer *pCPC;
IConnectionPoint *pCP;
HRESULT hr = pUnkCP->QueryInterface(
IID_IConnectionPointContainer,(void**)&pCPC);
if (SUCCEEDED(hr)) {
hr = pCPC->FindConnectionPoint(iid, &pCP);
if (SUCCEEDED(hRes)) {
hr = pCP->Advise(pUnk, pdw);
pCP->Release();
}
pCPC->Release();
}
return hr;
}

Ну и потом надо не забыть отписаться от событий.
Если нам не помогут, то мы тоже никого не пощадим.
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.