断言ASSERT(m_spHtmlDoc==NULL);在下面:
void CDHtmlDialog::OnNavigateComplete(LPDISPATCH pDisp, LPCTSTR szUrl)
{
if (pDisp != m_pBrowserApp)
return;
IDispatch *pdispDoc = NULL;
m_pBrowserApp->get_Document(&pdispDoc);
if (!pdispDoc)
return; ASSERT(m_spHtmlDoc==NULL);//此处断言通不过,但只是偶尔通不过 pdispDoc->QueryInterface(IID_IHTMLDocument2, (void **) &m_spHtmlDoc); if (m_bUseHtmlTitle)
{
CComBSTR bstrTitle;
m_spHtmlDoc->get_title(&bstrTitle);
CString str = CString(bstrTitle);
SetWindowText(str);
} m_strCurrentUrl = szUrl; ConnectDHtmlEvents(pdispDoc);
pdispDoc->Release();
}
如果忽略掉这个断言,也不会出什么问题,但我想知道为什么有时会m_spHtmlDoc!=NULL