如何破坏动态创建的Tchromium(Delphi)组件?

Jun*_*ira 3 delphi embedded components destroy tchromium

如何破坏动态创建的Tchromium组件?我正在使用DLL,在不释放DLL的情况下多次创建和销毁它所需的组件,问题是没有释放内存而无法清除缓存文件夹.如果我使用CefShutDown问题及时发生再次重新创建浏览器.我正在使用最新版本的DCEF3.像这样动态创建:

crm := TChromium.Create(Form1);
crm.SetParentComponent (Panel2);
crm.Align := alClient;
Run Code Online (Sandbox Code Playgroud)

以几种方式试图破坏:

FreeAndNil(crm);
crm.free;
crm := nil;
CefShutDown;
Run Code Online (Sandbox Code Playgroud)

CefShutDown及时解决了销毁,问题发生在我再次尝试重新创建组件而不释放我的DLL时.

还解决了我与UserAgent的另一个问题,无法改变浏览器的重新创建.

我感谢任何解决我的问题的建议.

Dav*_*nan 6

此行为是设计的.Chromium问题跟踪器上的问题1237与您的问题相同.相关摘录如下:

CefInitialize/CefShutdown不能在同一进程中多次调用.您可以创建/销毁多个浏览器窗口,而无需重新初始化CEF.

你将不得不打电话CefShutDown.