Code: Select all
//Module
unit MyProject;
interface
uses
Windows, Messages, Controls, SysUtils, uCEFChromium,
uCEFInterfaces, uCEFTypes, uCEFConstants;
type
TMyproject= class
private
chromium1:Tchromium;
protected
FOnGetAdr:Get;
public
published
constructor Create;
destructor Destroy; override;
procedure Chromium1Close(Sender: TObject;
const browser: ICefBrowser; var aAction : TCefCloseBrowserAction);
procedure Chromium1BeforeClose(Sender: TObject;
const browser: ICefBrowser);
procedure Chromium1LoadEnd(Sender: TObject; const browser: ICefBrowser;
end;
procedure TMyproject.Chromium1LoadEnd(Sender: TObject;
const browser: ICefBrowser; const frame: ICefFrame;
httpStatusCode: Integer);
begin
chromium1.ExecuteJavaScript('document.querySelector("body > mybody").click();',chromium1.DefaultUrl,0);
end;
procedure TMyproject.Chromium1Close(Sender: TObject;
const browser: ICefBrowser; var aAction : TCefCloseBrowserAction);
begin
PostMessage(Hwnd(TMyproject), CEF_DESTROY, 0, 0);
aAction := cbaDelay;
end;
procedure TMyproject.Chromium1BeforeClose(Sender: TObject;
const browser: ICefBrowser);
begin
PostMessage(Hwnd(TMyproject), WM_CLOSE, 0, 0);
end;
constructor TMyproject.Create;
begin
NUM:=-1;
chromium1:=TChromium.Create(nil);
Chromium1.Options.ImageLoading:=STATE_DISABLED;
Chromium1.Options.Plugins:= STATE_DISABLED;
Chromium1.Options.ImageShrinkStandaloneToFit:= STATE_DISABLED;
Chromium1.Options.FileAccessFromFileUrls:= STATE_DISABLED;
Chromium1.Options.JavascriptCloseWindows:= STATE_DISABLED;
Chromium1.Options.UniversalAccessFromFileUrls:= STATE_DISABLED;
Chromium1.Options.Webgl:= STATE_DISABLED;
Chromium1.Options.TabToLinks:= STATE_DISABLED;
Chromium1.Options.ApplicationCache:= STATE_DISABLED;
chromium1.OnLoadEnd:=Chromium1LoadEnd;
chromium1.OnBeforeClose:=Chromium1BeforeClose;
chromium1.OnClose:=Chromium1Close;
chromium1.DefaultUrl:=(extractfilepath(paramstr(0))+'myhtm.html');
chromium1.CreateBrowser(nil);
PostMessage(Hwnd(TMyproject), CEF_AFTERCREATED, 0, 0);
end;
destructor TMyproject.Destroy;
begin
inherited;
Chromium1.CloseBrowser(True); //Critical error triggered here
Chromium1.Free;
end;
//Form1
procedure TForm1.Button1Click(Sender: TObject);
var
mymodule:TMyproject;
begin
mymodule:=TMyproject.Create;
mymodule.Free; //Critical error triggered here
end;