Wil*_*hua 3 delphi delphi-2009 twebbrowser
我的应用程序使用加载网页的 TWebBrowser。问题是,关闭包含 TWebBrowser 的表单后,使用的内存没有释放。如果我打开和关闭表单,内存只会不断增加。
看到一些关于调用 SetProcessWorkingSetSize() 或 CoFreeUnusedLibrariesEx() 来解决这个问题的帖子,但我不确定这些是否是正确的解决方案。
知道如何释放 TWebBrowser 使用的内存吗?
Jos*_*ley 5
QC#106829描述了 TWebBrowser 内存泄漏的一种可能原因。访问Document(以及通过TOleControl.GetIDispatchProp或实现的任何其他属性TOleControl.GetIUnknownProp)会导致泄漏,因为它调用 AddRef 而不调用 Release。作为一种解决方法,您可以手动调用 Release,或者您可以修补 VCL(请参阅此处),或者您可以避免有问题的属性(例如,通过使用browser.DefaultInterface.Document代替browser.Document)。
Document
TOleControl.GetIDispatchProp
TOleControl.GetIUnknownProp
browser.DefaultInterface.Document
browser.Document
归档时间:
14 年,5 月 前
查看次数:
4623 次
最近记录:
8 年,3 月 前