Guest |
Отправлено: 19.12.2005, 16:19 |
|
Не зарегистрирован
|
Нет ли у кого исходника плагина описанного в статье “Написание Plugin'ов для Internet Explorer”
My Webpage
, а то я в СОМ программировании не очень отрезаю и некоторые моменты мне из статьи мне непонятны
к примеру когда я объявил переменную IWebBrowser2Ptr m_pWebBrowser2;
то у нее не оказалось функции
m_pWebBrowser2.GetInterfacePtr(), а в примере она используется
|
|
GIZMO |
Отправлено: 26.12.2005, 18:29 |
|
Машинист паровоза
Группа: Участник
Сообщений: 174
|
QUOTE (Guest @ 19/12/2005, 16:19) | Нет ли у кого исходника плагина описанного в статье “Написание Plugin'ов для Internet Explorer”
My Webpage
, а то я в СОМ программировании не очень отрезаю и некоторые моменты мне из статьи мне непонятны
к примеру когда я объявил переменную IWebBrowser2Ptr m_pWebBrowser2;
то у нее не оказалось функции
m_pWebBrowser2.GetInterfacePtr(), а в примере она используется |
А копировать втупую не надо. IWebBrowser2Ptr и т.п. — смартпоинтеры и то, что наделал тебе tlibimp может отличатся от VC. Обявляй так:
CODE |
...
protected:
IWebBrowser2 *m_pWebBrowser2;
...
|
используй так:
CODE |
STDMETHODIMP TMyIEExtentionImpl::SetSite(IUnknown *pUnkSite)
{
if (!pUnkSite)
{
if(m_pWebBrowser2) { //åñëè (*) â MyIEExtentionImpl.h, òî
m_pWebBrowser2->Release();//ýòîãî
m_pWebBrowser2 = NULL; //íå
} //íóæíî
return S_OK;
}
CComQIPtr<IServiceProvider, &IID_IServiceProvider> pServProv(pUnkSite);
//IServiceProvider *pServProv;
//pUnkSite->QueryInterface(IID_IServiceProvider,(void**)&pServProv);
return pServProv->QueryService(SID_SWebBrowserApp, IID_IWebBrowser2,
(void**)&m_pWebBrowser2);
}
//---------------------------------------------------------------------------
|
Отредактировано GIZMO — 26/12/2005, 18:30
|
|
|