具体内容参见http://club.yesky.com/viewthread.php?tid=2614000
可是我在VC里打开新窗口用了GetDocument以后,程序内存就会增加100多k,而且在关掉以后也不会少下去,如果注释掉这句话的话就不会有这个问题,请高手指教以下,谢谢!下面就是出问题的部分代码。
① CWebBrowser2 m_web; ② CComPtr<IDispatch> pDisp1 = m_web.GetDocument();
③LPDISPATCH CWebBrowser2::GetDocument()
{
LPDISPATCH result;
InvokeHelper(0xcb, DISPATCH_PROPERTYGET, VT_DISPATCH, (void*)&result, NULL);
return result;
}
可是我在VC里打开新窗口用了GetDocument以后,程序内存就会增加100多k,而且在关掉以后也不会少下去,如果注释掉这句话的话就不会有这个问题,请高手指教以下,谢谢!下面就是出问题的部分代码。
① CWebBrowser2 m_web; ② CComPtr<IDispatch> pDisp1 = m_web.GetDocument();
③LPDISPATCH CWebBrowser2::GetDocument()
{
LPDISPATCH result;
InvokeHelper(0xcb, DISPATCH_PROPERTYGET, VT_DISPATCH, (void*)&result, NULL);
return result;
}
void CWebDialog::OnProgressChangeExplorer(long Progress, long ProgressMax)
{
if(Progress != -1) {
return;
}
CComPtr<IDispatch> pDisp1 = m_web.GetDocument();
if(pDisp1 == NULL){
return;
} CComQIPtr<IHTMLDocument2> pDoc = pDisp1;
if (pDoc == NULL) {
return;
} if(m_pDoc!=NULL){
AfxConnectionUnadvise(m_pDoc,DIID_HTMLDocumentEvents,GetIDispatch(FALSE),FALSE,m_dwCookie);
}
m_pDoc = pDoc;
AfxConnectionAdvise(pDoc,DIID_HTMLDocumentEvents,GetIDispatch(FALSE),FALSE,&m_dwCookie);
}
这里是获取的部分代码