我们在应用程序中使用 TWebBrowser。
在我的一些客户计算机 (IE9/Win7) 上,我的应用程序终止后,它会抛出异常:“模块‘mshtml.dll’中的地址 XXXX 处发生访问冲突。读取地址 XXXX”
带有无限循环的异常消息...非常丑陋:/
这只发生在极少数计算机上(到目前为止只有 IE9/Win7)。 我无法在我的电脑上重现此异常。
我还使用 JclDebug
这是我的主 dpr 使用子句中定义的最后一个单元 - 它没有捕获此异常。
如何彻底抑制这个异常?
应用程序是用 D5 编写的。
最佳答案
大胆猜测...当您的应用程序位于析构函数中并且您的 TWebBrowser 被(至少部分)销毁时,IE 会发生回调(事件)。
您可以尝试提前显式释放 TWebBrowser,看看是否有任何可能会造成困惑的事件处理程序,确保您在保存它的表单上使用 Release...
没有代码很难判断。
关于delphi - 如何抑制 EAccessViolation Finalization 异常 (mshtml.dll),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8508603/