描述:
断言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
解决方案1:
OnNavigateComplete是否被多次调用?
您可能想查找下面的文章:
- ATL实现的CDHtmlDialog模板类v103资源已更新,欢迎大家下载使用!
- 请教高手,在线等,基于CDHTMLDialog类的应用程序,如何动态改变页面上的图片?
- CDhtmlDialog无法把回车等键盘消息传给网页
- ATL实现的CDHtmlDialog模板类的external函数可以有返回值?
- CDHtmlDialog方法Navigate完成的标志?网页加载完毕的时机是什么?
- 如何判断CDHtmlDialog::Navigate已经完成?
- 使用CDHtmlDialog访问某网站有时会弹出提示对话框后自动登出,但用ie程序就不会,两者有何不同?
- CDHtmlDialog,显示某些网页时,提示脚本错误找不到对象,程序崩溃。。。
- 用CDHtmlDialog调用javascript函数可以给javascript函数传递自定义结构吗?
- 我在CDHtmlDialog里调用JavaScript函数的问题