嵌入Object的页面,IE因为多次刷新而崩溃,请问是什么原因导致的??
JoeXu 2003-11-12 02:51:22 程序基于IE的ATL ActiveX Control,功能是禁止IE的打印,打屏等。
问题是多次Refresh,IE会出错;而且每次Refresh,任务管理器中IE占用的内存都会增加.
.....
IE请求到下面这个页面:
<HTML><BODY onload="document.body.scroll='no'" TOPMARGIN=0 LEFTMARGIN=0 MARGINWIDTH=0 MARGINHEIGHT=0>
<OBJECT classid="clsid:29E3C745-E3B1-4D45-ACE1-793F4E684DD3"
ID=Myobj width="100%" height="100%" align="top"
CODEBASE="http://192.168.1.118/vpp.cab#Version=1,0,0,7">
</OBJECT>
</BODY></HTML>
页面中的对象显示正确,但是当我快速刷新的时候,会出现下面的异常:
First-chance exception in IEXPLORE.EXE (MSHTML.DLL): 0xC0000005: Access Violation.
出现这个错误只会在快速refresh时才有(至于第几次refresh则是完全不确定的,有时刷新5,6次就会出错).
我review了代码,IInternetProtocol的几个method(比如IInternetProtocol::UnlockRequest,IInternetProtocol::Read,IInternetProtocolRoot::Terminate )我都正确重载并认为代码没有错....
另外每次刷新IE内存占用都会增加,但是我在重载的COM对象的FinalRelease()函数中都已调用了IWebBrowser2的Release().....
谁能救我????