【发布时间】:2015-07-26 04:54:09
【问题描述】:
如何销毁动态创建的 Tchromium 组件?我在 DLL 中使用,在不释放 DLL 的情况下多次创建和销毁它所必需的组件,问题是没有释放内存并且无法清除缓存文件夹。如果我使用 CefShutDown 出现问题及时重新创建浏览器。我正在使用最新版本的 DCEF3 。 像这样动态创建:
crm := TChromium.Create(Form1);
crm.SetParentComponent (Panel2);
crm.Align := alClient;
破坏尝试了多种方式:
FreeAndNil(crm);
crm.free;
crm := nil;
CefShutDown;
CefShutDown 及时解决破坏,当我再次尝试重新创建组件而不释放我的 DLL 时,问题正在发生。
还解决了我在使用 UserAgent 时遇到的另一个问题,无法更改浏览器的娱乐性。
感谢任何解决我问题的建议。
【问题讨论】:
-
Related to CEF1;我不确定他们是否在 CEF3 中添加了一些缓存清理支持。
-
创建浏览器后,您可以更改 UserAgent 吗?我想每次导航都改变这个信息。如果是这样,这将是我的问题的解决方案
-
否,仅在初始化时设置。但是您可以处理
OnBeforeResourceLoad事件并修改每个请求的用户代理标头字段。 -
Tlama 朋友,你有我如何使用 OnBeforeResourceLoad 的例子吗?
标签: delphi embedded components destroy tchromium