DCEF3与CefShutDown崩溃

时间:2014-05-17 12:00:22

标签: delphi chromium chromium-embedded tchromium

如果我设置了开关CEF_MULTI_THREADED_MESSAGE_LOOPCefSingleProcess := True,则每次调用CefShutDown时应用程序都会崩溃。有人可以解释为什么会这样吗?它与15xx以后的版本崩溃。

unit test;

interface

uses
  Winapi.Windows,
  Winapi.Messages,
  System.SysUtils,
  System.Variants,
  System.Classes,
  Vcl.Graphics,
  Vcl.Controls,
  Vcl.Forms,
  Vcl.Dialogs,
  WACefVCL,
  WACefLib;

type
  TForm2 = class(TForm)
    WAChromium1: TWAChromium;
    procedure FormCreate(Sender: TObject);
    procedure FormClose(Sender: TObject; var Action: TCloseAction);
  private
    { Private declarations }
  public
    { Public declarations }
  end;

var
  Form2: TForm2;
  WAChromium: TWAChromium;

implementation

{$R *.dfm}

procedure TForm2.FormClose(Sender: TObject; var Action: TCloseAction);
begin
  WAChromium.Free;
  CefShutDown; // crash on build 1650/1673/1916 works on build 1547
end;

procedure TForm2.FormCreate(Sender: TObject);
begin
  CefSingleProcess := True;
  CefLoadLibDefault;

  //WAChromium1
  WAChromium := TWAChromium.Create(nil);

  //WAChromium1
  WAChromium.Parent := Self;
  WAChromium.Left := 0;
  WAChromium.Top := 0;
  WAChromium.Width := 1024;
  WAChromium.Height := 768;
  WAChromium.DefaultUrl := 'about:blank';
  WAChromium.TabOrder := 0;

  WAChromium.Load('www.google.com');

end;

end.

0 个答案:

没有答案