分享

ATL/ActiveX/COM,VC VC调用网页中的脚本函数的问题,高手来帮忙

 liujian6916 2007-01-07
具体内容参见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;
}
响应者 1:
是用IWebBrowser2的智能指针建的对象吗?IWebBrowser2Ptr
响应者 2:
好像没有,空间用的是Microsoft web browser
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);

    本站是提供个人知识管理的网络存储空间,所有内容均由用户发布,不代表本站观点。请注意甄别内容中的联系方式、诱导购买等信息,谨防诈骗。如发现有害或侵权内容,请点击一键举报。
    转藏 分享 献花(0

    0条评论

    发表

    请遵守用户 评论公约

    类似文章 更多