You've already forked CEF4Delphi
mirror of
https://github.com/salvadordf/CEF4Delphi.git
synced 2025-08-14 21:42:50 +02:00
Added timers to create the browsers only when GlobalCEFApp.GlobalContextInitialized is TRUE
This commit is contained in:
@@ -72,4 +72,11 @@ object CookieVisitorFrm: TCookieVisitorFrm
|
|||||||
Left = 32
|
Left = 32
|
||||||
Top = 224
|
Top = 224
|
||||||
end
|
end
|
||||||
|
object Timer1: TTimer
|
||||||
|
Enabled = False
|
||||||
|
Interval = 300
|
||||||
|
OnTimer = Timer1Timer
|
||||||
|
Left = 32
|
||||||
|
Top = 280
|
||||||
|
end
|
||||||
end
|
end
|
||||||
|
@@ -65,6 +65,7 @@ type
|
|||||||
GoBtn: TButton;
|
GoBtn: TButton;
|
||||||
CEFWindowParent1: TCEFWindowParent;
|
CEFWindowParent1: TCEFWindowParent;
|
||||||
Chromium1: TChromium;
|
Chromium1: TChromium;
|
||||||
|
Timer1: TTimer;
|
||||||
procedure Chromium1AfterCreated(Sender: TObject; const browser: ICefBrowser);
|
procedure Chromium1AfterCreated(Sender: TObject; const browser: ICefBrowser);
|
||||||
procedure FormShow(Sender: TObject);
|
procedure FormShow(Sender: TObject);
|
||||||
procedure GoBtnClick(Sender: TObject);
|
procedure GoBtnClick(Sender: TObject);
|
||||||
@@ -79,6 +80,7 @@ type
|
|||||||
numDeleted: Integer);
|
numDeleted: Integer);
|
||||||
procedure FormCreate(Sender: TObject);
|
procedure FormCreate(Sender: TObject);
|
||||||
procedure FormDestroy(Sender: TObject);
|
procedure FormDestroy(Sender: TObject);
|
||||||
|
procedure Timer1Timer(Sender: TObject);
|
||||||
|
|
||||||
private
|
private
|
||||||
procedure WMMove(var aMessage : TWMMove); message WM_MOVE;
|
procedure WMMove(var aMessage : TWMMove); message WM_MOVE;
|
||||||
@@ -163,6 +165,12 @@ begin
|
|||||||
SimpleTextViewerFrm.ShowModal;
|
SimpleTextViewerFrm.ShowModal;
|
||||||
end;
|
end;
|
||||||
|
|
||||||
|
procedure TCookieVisitorFrm.Timer1Timer(Sender: TObject);
|
||||||
|
begin
|
||||||
|
Timer1.Enabled := False;
|
||||||
|
if not(Chromium1.CreateBrowser(CEFWindowParent1, '')) then Timer1.Enabled := True;
|
||||||
|
end;
|
||||||
|
|
||||||
procedure TCookieVisitorFrm.GoBtnClick(Sender: TObject);
|
procedure TCookieVisitorFrm.GoBtnClick(Sender: TObject);
|
||||||
begin
|
begin
|
||||||
Chromium1.LoadURL(Edit1.Text);
|
Chromium1.LoadURL(Edit1.Text);
|
||||||
@@ -221,7 +229,9 @@ end;
|
|||||||
|
|
||||||
procedure TCookieVisitorFrm.FormShow(Sender: TObject);
|
procedure TCookieVisitorFrm.FormShow(Sender: TObject);
|
||||||
begin
|
begin
|
||||||
Chromium1.CreateBrowser(CEFWindowParent1, '');
|
// GlobalCEFApp.GlobalContextInitialized has to be TRUE before creating any browser
|
||||||
|
// If it's not initialized yet, we use a simple timer to create the browser later.
|
||||||
|
if not(Chromium1.CreateBrowser(CEFWindowParent1, '')) then Timer1.Enabled := True;
|
||||||
end;
|
end;
|
||||||
|
|
||||||
procedure TCookieVisitorFrm.WMMove(var aMessage : TWMMove);
|
procedure TCookieVisitorFrm.WMMove(var aMessage : TWMMove);
|
||||||
|
@@ -22,10 +22,6 @@ object MainForm: TMainForm
|
|||||||
Height = 628
|
Height = 628
|
||||||
Align = alClient
|
Align = alClient
|
||||||
TabOrder = 0
|
TabOrder = 0
|
||||||
ExplicitLeft = 184
|
|
||||||
ExplicitTop = 168
|
|
||||||
ExplicitWidth = 100
|
|
||||||
ExplicitHeight = 41
|
|
||||||
end
|
end
|
||||||
object AddressBarPnl: TPanel
|
object AddressBarPnl: TPanel
|
||||||
Left = 0
|
Left = 0
|
||||||
@@ -43,8 +39,6 @@ object MainForm: TMainForm
|
|||||||
ParentDoubleBuffered = False
|
ParentDoubleBuffered = False
|
||||||
ShowCaption = False
|
ShowCaption = False
|
||||||
TabOrder = 1
|
TabOrder = 1
|
||||||
ExplicitLeft = -620
|
|
||||||
ExplicitWidth = 1038
|
|
||||||
object Edit1: TEdit
|
object Edit1: TEdit
|
||||||
Left = 5
|
Left = 5
|
||||||
Top = 5
|
Top = 5
|
||||||
@@ -54,7 +48,6 @@ object MainForm: TMainForm
|
|||||||
Align = alClient
|
Align = alClient
|
||||||
TabOrder = 0
|
TabOrder = 0
|
||||||
Text = 'http://www.example.com'
|
Text = 'http://www.example.com'
|
||||||
ExplicitWidth = 997
|
|
||||||
ExplicitHeight = 21
|
ExplicitHeight = 21
|
||||||
end
|
end
|
||||||
object Button1: TButton
|
object Button1: TButton
|
||||||
@@ -67,7 +60,13 @@ object MainForm: TMainForm
|
|||||||
Caption = 'Go'
|
Caption = 'Go'
|
||||||
TabOrder = 1
|
TabOrder = 1
|
||||||
OnClick = Button1Click
|
OnClick = Button1Click
|
||||||
ExplicitLeft = 1002
|
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
|
object Timer1: TTimer
|
||||||
|
Enabled = False
|
||||||
|
Interval = 300
|
||||||
|
OnTimer = Timer1Timer
|
||||||
|
Left = 48
|
||||||
|
Top = 240
|
||||||
|
end
|
||||||
end
|
end
|
||||||
|
@@ -57,9 +57,11 @@ type
|
|||||||
AddressBarPnl: TPanel;
|
AddressBarPnl: TPanel;
|
||||||
Edit1: TEdit;
|
Edit1: TEdit;
|
||||||
Button1: TButton;
|
Button1: TButton;
|
||||||
|
Timer1: TTimer;
|
||||||
|
|
||||||
procedure FormShow(Sender: TObject);
|
procedure FormShow(Sender: TObject);
|
||||||
procedure Button1Click(Sender: TObject);
|
procedure Button1Click(Sender: TObject);
|
||||||
|
procedure Timer1Timer(Sender: TObject);
|
||||||
|
|
||||||
private
|
private
|
||||||
procedure WMMove(var aMessage : TWMMove); message WM_MOVE;
|
procedure WMMove(var aMessage : TWMMove); message WM_MOVE;
|
||||||
@@ -92,7 +94,16 @@ procedure TMainForm.FormShow(Sender: TObject);
|
|||||||
begin
|
begin
|
||||||
ChromiumWindow1.OnAfterCreated := Chromium_OnAfterCreated;
|
ChromiumWindow1.OnAfterCreated := Chromium_OnAfterCreated;
|
||||||
ChromiumWindow1.ChromiumBrowser.OnGetResourceHandler := Chromium_OnGetResourceHandler;
|
ChromiumWindow1.ChromiumBrowser.OnGetResourceHandler := Chromium_OnGetResourceHandler;
|
||||||
ChromiumWindow1.CreateBrowser;
|
|
||||||
|
// GlobalCEFApp.GlobalContextInitialized has to be TRUE before creating any browser
|
||||||
|
// If it's not initialized yet, we use a simple timer to create the browser later.
|
||||||
|
if not(ChromiumWindow1.CreateBrowser) then Timer1.Enabled := True;
|
||||||
|
end;
|
||||||
|
|
||||||
|
procedure TMainForm.Timer1Timer(Sender: TObject);
|
||||||
|
begin
|
||||||
|
Timer1.Enabled := False;
|
||||||
|
if not(ChromiumWindow1.CreateBrowser) then Timer1.Enabled := True;
|
||||||
end;
|
end;
|
||||||
|
|
||||||
procedure TMainForm.Chromium_OnAfterCreated(Sender: TObject);
|
procedure TMainForm.Chromium_OnAfterCreated(Sender: TObject);
|
||||||
|
@@ -22,7 +22,6 @@ object DOMVisitorFrm: TDOMVisitorFrm
|
|||||||
Height = 530
|
Height = 530
|
||||||
Align = alClient
|
Align = alClient
|
||||||
TabOrder = 0
|
TabOrder = 0
|
||||||
ExplicitHeight = 549
|
|
||||||
end
|
end
|
||||||
object AddressBarPnl: TPanel
|
object AddressBarPnl: TPanel
|
||||||
Left = 0
|
Left = 0
|
||||||
@@ -71,9 +70,6 @@ object DOMVisitorFrm: TDOMVisitorFrm
|
|||||||
item
|
item
|
||||||
Width = 50
|
Width = 50
|
||||||
end>
|
end>
|
||||||
ExplicitLeft = 584
|
|
||||||
ExplicitTop = 552
|
|
||||||
ExplicitWidth = 0
|
|
||||||
end
|
end
|
||||||
object Chromium1: TChromium
|
object Chromium1: TChromium
|
||||||
OnProcessMessageReceived = Chromium1ProcessMessageReceived
|
OnProcessMessageReceived = Chromium1ProcessMessageReceived
|
||||||
@@ -83,4 +79,11 @@ object DOMVisitorFrm: TDOMVisitorFrm
|
|||||||
Left = 16
|
Left = 16
|
||||||
Top = 40
|
Top = 40
|
||||||
end
|
end
|
||||||
|
object Timer1: TTimer
|
||||||
|
Enabled = False
|
||||||
|
Interval = 300
|
||||||
|
OnTimer = Timer1Timer
|
||||||
|
Left = 16
|
||||||
|
Top = 96
|
||||||
|
end
|
||||||
end
|
end
|
||||||
|
@@ -68,6 +68,7 @@ type
|
|||||||
GoBtn: TButton;
|
GoBtn: TButton;
|
||||||
AddressEdt: TEdit;
|
AddressEdt: TEdit;
|
||||||
StatusBar1: TStatusBar;
|
StatusBar1: TStatusBar;
|
||||||
|
Timer1: TTimer;
|
||||||
procedure GoBtnClick(Sender: TObject);
|
procedure GoBtnClick(Sender: TObject);
|
||||||
procedure FormShow(Sender: TObject);
|
procedure FormShow(Sender: TObject);
|
||||||
procedure Chromium1AfterCreated(Sender: TObject;
|
procedure Chromium1AfterCreated(Sender: TObject;
|
||||||
@@ -82,6 +83,7 @@ type
|
|||||||
procedure Chromium1ProcessMessageReceived(Sender: TObject;
|
procedure Chromium1ProcessMessageReceived(Sender: TObject;
|
||||||
const browser: ICefBrowser; sourceProcess: TCefProcessId;
|
const browser: ICefBrowser; sourceProcess: TCefProcessId;
|
||||||
const message: ICefProcessMessage; out Result: Boolean);
|
const message: ICefProcessMessage; out Result: Boolean);
|
||||||
|
procedure Timer1Timer(Sender: TObject);
|
||||||
private
|
private
|
||||||
{ Private declarations }
|
{ Private declarations }
|
||||||
protected
|
protected
|
||||||
@@ -148,7 +150,9 @@ end;
|
|||||||
|
|
||||||
procedure TDOMVisitorFrm.FormShow(Sender: TObject);
|
procedure TDOMVisitorFrm.FormShow(Sender: TObject);
|
||||||
begin
|
begin
|
||||||
Chromium1.CreateBrowser(CEFWindowParent1, '');
|
// GlobalCEFApp.GlobalContextInitialized has to be TRUE before creating any browser
|
||||||
|
// If it's not initialized yet, we use a simple timer to create the browser later.
|
||||||
|
if not(Chromium1.CreateBrowser(CEFWindowParent1, '')) then Timer1.Enabled := True;
|
||||||
end;
|
end;
|
||||||
|
|
||||||
procedure TDOMVisitorFrm.GoBtnClick(Sender: TObject);
|
procedure TDOMVisitorFrm.GoBtnClick(Sender: TObject);
|
||||||
@@ -192,4 +196,10 @@ begin
|
|||||||
StatusBar1.Panels[0].Text := aText;
|
StatusBar1.Panels[0].Text := aText;
|
||||||
end;
|
end;
|
||||||
|
|
||||||
|
procedure TDOMVisitorFrm.Timer1Timer(Sender: TObject);
|
||||||
|
begin
|
||||||
|
Timer1.Enabled := False;
|
||||||
|
if not(Chromium1.CreateBrowser(CEFWindowParent1, '')) then Timer1.Enabled := True;
|
||||||
|
end;
|
||||||
|
|
||||||
end.
|
end.
|
||||||
|
@@ -33,4 +33,11 @@ object MainForm: TMainForm
|
|||||||
Left = 208
|
Left = 208
|
||||||
Top = 120
|
Top = 120
|
||||||
end
|
end
|
||||||
|
object Timer1: TTimer
|
||||||
|
Enabled = False
|
||||||
|
Interval = 300
|
||||||
|
OnTimer = Timer1Timer
|
||||||
|
Left = 272
|
||||||
|
Top = 120
|
||||||
|
end
|
||||||
end
|
end
|
||||||
|
@@ -48,12 +48,14 @@ uses
|
|||||||
Windows, Messages, SysUtils, Variants, Classes, Graphics,
|
Windows, Messages, SysUtils, Variants, Classes, Graphics,
|
||||||
Controls, Forms, Dialogs,
|
Controls, Forms, Dialogs,
|
||||||
{$ENDIF}
|
{$ENDIF}
|
||||||
uCEFChromium, uCEFWindowParent, uCEFInterfaces, uCEFTypes, uCEFConstants;
|
uCEFChromium, uCEFWindowParent, uCEFInterfaces, uCEFTypes, uCEFConstants,
|
||||||
|
Vcl.ExtCtrls;
|
||||||
|
|
||||||
type
|
type
|
||||||
TMainForm = class(TForm)
|
TMainForm = class(TForm)
|
||||||
CEFWindowParent1: TCEFWindowParent;
|
CEFWindowParent1: TCEFWindowParent;
|
||||||
Chromium1: TChromium;
|
Chromium1: TChromium;
|
||||||
|
Timer1: TTimer;
|
||||||
procedure Chromium1PreKeyEvent(Sender: TObject;
|
procedure Chromium1PreKeyEvent(Sender: TObject;
|
||||||
const browser: ICefBrowser; const event: PCefKeyEvent; osEvent: PMsg;
|
const browser: ICefBrowser; const event: PCefKeyEvent; osEvent: PMsg;
|
||||||
out isKeyboardShortcut, Result: Boolean);
|
out isKeyboardShortcut, Result: Boolean);
|
||||||
@@ -63,6 +65,7 @@ type
|
|||||||
procedure FormShow(Sender: TObject);
|
procedure FormShow(Sender: TObject);
|
||||||
procedure Chromium1AfterCreated(Sender: TObject;
|
procedure Chromium1AfterCreated(Sender: TObject;
|
||||||
const browser: ICefBrowser);
|
const browser: ICefBrowser);
|
||||||
|
procedure Timer1Timer(Sender: TObject);
|
||||||
private
|
private
|
||||||
{ Private declarations }
|
{ Private declarations }
|
||||||
protected
|
protected
|
||||||
@@ -101,6 +104,12 @@ begin
|
|||||||
end;
|
end;
|
||||||
end;
|
end;
|
||||||
|
|
||||||
|
procedure TMainForm.Timer1Timer(Sender: TObject);
|
||||||
|
begin
|
||||||
|
Timer1.Enabled := False;
|
||||||
|
if not(Chromium1.CreateBrowser(CEFWindowParent1, '')) then Timer1.Enabled := True;
|
||||||
|
end;
|
||||||
|
|
||||||
procedure TMainForm.HandleKeyDown(const aMsg : TMsg; var aHandled : boolean);
|
procedure TMainForm.HandleKeyDown(const aMsg : TMsg; var aHandled : boolean);
|
||||||
var
|
var
|
||||||
TempMessage : TMessage;
|
TempMessage : TMessage;
|
||||||
@@ -165,7 +174,10 @@ end;
|
|||||||
procedure TMainForm.FormShow(Sender: TObject);
|
procedure TMainForm.FormShow(Sender: TObject);
|
||||||
begin
|
begin
|
||||||
Chromium1.DefaultUrl := 'https://www.google.com';
|
Chromium1.DefaultUrl := 'https://www.google.com';
|
||||||
Chromium1.CreateBrowser(CEFWindowParent1, '');
|
|
||||||
|
// GlobalCEFApp.GlobalContextInitialized has to be TRUE before creating any browser
|
||||||
|
// If it's not initialized yet, we use a simple timer to create the browser later.
|
||||||
|
if not(Chromium1.CreateBrowser(CEFWindowParent1, '')) then Timer1.Enabled := True;
|
||||||
end;
|
end;
|
||||||
|
|
||||||
procedure TMainForm.WMMove(var aMessage : TWMMove);
|
procedure TMainForm.WMMove(var aMessage : TWMMove);
|
||||||
|
@@ -22,7 +22,6 @@ object GeolocationFrm: TGeolocationFrm
|
|||||||
Height = 642
|
Height = 642
|
||||||
Align = alClient
|
Align = alClient
|
||||||
TabOrder = 0
|
TabOrder = 0
|
||||||
ExplicitHeight = 395
|
|
||||||
end
|
end
|
||||||
object NavControlPnl: TPanel
|
object NavControlPnl: TPanel
|
||||||
Left = 0
|
Left = 0
|
||||||
@@ -76,13 +75,17 @@ object GeolocationFrm: TGeolocationFrm
|
|||||||
item
|
item
|
||||||
Width = 200
|
Width = 200
|
||||||
end>
|
end>
|
||||||
ExplicitLeft = 584
|
|
||||||
ExplicitTop = 592
|
|
||||||
ExplicitWidth = 0
|
|
||||||
end
|
end
|
||||||
object Chromium1: TChromium
|
object Chromium1: TChromium
|
||||||
OnAfterCreated = Chromium1AfterCreated
|
OnAfterCreated = Chromium1AfterCreated
|
||||||
Left = 32
|
Left = 32
|
||||||
Top = 224
|
Top = 224
|
||||||
end
|
end
|
||||||
|
object Timer1: TTimer
|
||||||
|
Enabled = False
|
||||||
|
Interval = 300
|
||||||
|
OnTimer = Timer1Timer
|
||||||
|
Left = 32
|
||||||
|
Top = 288
|
||||||
|
end
|
||||||
end
|
end
|
||||||
|
@@ -62,10 +62,12 @@ type
|
|||||||
Edit1: TEdit;
|
Edit1: TEdit;
|
||||||
GoBtn: TButton;
|
GoBtn: TButton;
|
||||||
StatusBar1: TStatusBar;
|
StatusBar1: TStatusBar;
|
||||||
|
Timer1: TTimer;
|
||||||
|
|
||||||
procedure Chromium1AfterCreated(Sender: TObject; const browser: ICefBrowser);
|
procedure Chromium1AfterCreated(Sender: TObject; const browser: ICefBrowser);
|
||||||
procedure GoBtnClick(Sender: TObject);
|
procedure GoBtnClick(Sender: TObject);
|
||||||
procedure FormShow(Sender: TObject);
|
procedure FormShow(Sender: TObject);
|
||||||
|
procedure Timer1Timer(Sender: TObject);
|
||||||
protected
|
protected
|
||||||
procedure BrowserCreatedMsg(var aMessage : TMessage); message CEF_AFTERCREATED;
|
procedure BrowserCreatedMsg(var aMessage : TMessage); message CEF_AFTERCREATED;
|
||||||
procedure NewLocationMsg(var aMessage : TMessage); message MINIBROWSER_NEWLOCATION;
|
procedure NewLocationMsg(var aMessage : TMessage); message MINIBROWSER_NEWLOCATION;
|
||||||
@@ -88,7 +90,9 @@ end;
|
|||||||
|
|
||||||
procedure TGeolocationFrm.FormShow(Sender: TObject);
|
procedure TGeolocationFrm.FormShow(Sender: TObject);
|
||||||
begin
|
begin
|
||||||
Chromium1.CreateBrowser(CEFWindowParent1, '');
|
// GlobalCEFApp.GlobalContextInitialized has to be TRUE before creating any browser
|
||||||
|
// If it's not initialized yet, we use a simple timer to create the browser later.
|
||||||
|
if not(Chromium1.CreateBrowser(CEFWindowParent1, '')) then Timer1.Enabled := True;
|
||||||
end;
|
end;
|
||||||
|
|
||||||
procedure TGeolocationFrm.GoBtnClick(Sender: TObject);
|
procedure TGeolocationFrm.GoBtnClick(Sender: TObject);
|
||||||
@@ -110,6 +114,12 @@ begin
|
|||||||
StatusBar1.Panels[2].Text := 'alt : ' + floattostr(GlobalPosition.altitude);
|
StatusBar1.Panels[2].Text := 'alt : ' + floattostr(GlobalPosition.altitude);
|
||||||
end;
|
end;
|
||||||
|
|
||||||
|
procedure TGeolocationFrm.Timer1Timer(Sender: TObject);
|
||||||
|
begin
|
||||||
|
Timer1.Enabled := False;
|
||||||
|
if not(Chromium1.CreateBrowser(CEFWindowParent1, '')) then Timer1.Enabled := True;
|
||||||
|
end;
|
||||||
|
|
||||||
procedure TGeolocationFrm.WMMove(var aMessage : TWMMove);
|
procedure TGeolocationFrm.WMMove(var aMessage : TWMMove);
|
||||||
begin
|
begin
|
||||||
inherited;
|
inherited;
|
||||||
|
@@ -69,4 +69,11 @@ object JSEvalFrm: TJSEvalFrm
|
|||||||
Left = 16
|
Left = 16
|
||||||
Top = 40
|
Top = 40
|
||||||
end
|
end
|
||||||
|
object Timer1: TTimer
|
||||||
|
Enabled = False
|
||||||
|
Interval = 300
|
||||||
|
OnTimer = Timer1Timer
|
||||||
|
Left = 16
|
||||||
|
Top = 96
|
||||||
|
end
|
||||||
end
|
end
|
||||||
|
@@ -70,6 +70,7 @@ type
|
|||||||
AddressBarPnl: TPanel;
|
AddressBarPnl: TPanel;
|
||||||
GoBtn: TButton;
|
GoBtn: TButton;
|
||||||
AddressEdt: TEdit;
|
AddressEdt: TEdit;
|
||||||
|
Timer1: TTimer;
|
||||||
procedure Chromium1AfterCreated(Sender: TObject; const browser: ICefBrowser);
|
procedure Chromium1AfterCreated(Sender: TObject; const browser: ICefBrowser);
|
||||||
procedure GoBtnClick(Sender: TObject);
|
procedure GoBtnClick(Sender: TObject);
|
||||||
procedure FormShow(Sender: TObject);
|
procedure FormShow(Sender: TObject);
|
||||||
@@ -84,6 +85,7 @@ type
|
|||||||
const browser: ICefBrowser; const frame: ICefFrame;
|
const browser: ICefBrowser; const frame: ICefFrame;
|
||||||
const params: ICefContextMenuParams; commandId: Integer;
|
const params: ICefContextMenuParams; commandId: Integer;
|
||||||
eventFlags: Cardinal; out Result: Boolean);
|
eventFlags: Cardinal; out Result: Boolean);
|
||||||
|
procedure Timer1Timer(Sender: TObject);
|
||||||
|
|
||||||
private
|
private
|
||||||
{ Private declarations }
|
{ Private declarations }
|
||||||
@@ -189,7 +191,9 @@ end;
|
|||||||
|
|
||||||
procedure TJSEvalFrm.FormShow(Sender: TObject);
|
procedure TJSEvalFrm.FormShow(Sender: TObject);
|
||||||
begin
|
begin
|
||||||
Chromium1.CreateBrowser(CEFWindowParent1, '');
|
// GlobalCEFApp.GlobalContextInitialized has to be TRUE before creating any browser
|
||||||
|
// If it's not initialized yet, we use a simple timer to create the browser later.
|
||||||
|
if not(Chromium1.CreateBrowser(CEFWindowParent1, '')) then Timer1.Enabled := True;
|
||||||
end;
|
end;
|
||||||
|
|
||||||
procedure TJSEvalFrm.GoBtnClick(Sender: TObject);
|
procedure TJSEvalFrm.GoBtnClick(Sender: TObject);
|
||||||
@@ -210,6 +214,12 @@ begin
|
|||||||
SimpleTextViewerFrm.ShowModal;
|
SimpleTextViewerFrm.ShowModal;
|
||||||
end;
|
end;
|
||||||
|
|
||||||
|
procedure TJSEvalFrm.Timer1Timer(Sender: TObject);
|
||||||
|
begin
|
||||||
|
Timer1.Enabled := False;
|
||||||
|
if not(Chromium1.CreateBrowser(CEFWindowParent1, '')) then Timer1.Enabled := True;
|
||||||
|
end;
|
||||||
|
|
||||||
procedure TJSEvalFrm.WMMove(var aMessage : TWMMove);
|
procedure TJSEvalFrm.WMMove(var aMessage : TWMMove);
|
||||||
begin
|
begin
|
||||||
inherited;
|
inherited;
|
||||||
|
@@ -90,6 +90,9 @@ begin
|
|||||||
GlobalCEFApp.FrameworkDirPath := 'cef';
|
GlobalCEFApp.FrameworkDirPath := 'cef';
|
||||||
GlobalCEFApp.ResourcesDirPath := 'cef';
|
GlobalCEFApp.ResourcesDirPath := 'cef';
|
||||||
GlobalCEFApp.LocalesDirPath := 'cef\locales';
|
GlobalCEFApp.LocalesDirPath := 'cef\locales';
|
||||||
|
GlobalCEFApp.EnableGPU := True; // Enable hardware acceleration
|
||||||
|
GlobalCEFApp.DisableGPUCache := True; // Disable the creation of a 'GPUCache' directory in the hard drive.
|
||||||
|
GlobalCEFApp.SingleProcess := True; // Use the single process mode *ONLY* for debugging purposes
|
||||||
GlobalCEFApp.cache := 'cef\cache';
|
GlobalCEFApp.cache := 'cef\cache';
|
||||||
GlobalCEFApp.cookies := 'cef\cookies';
|
GlobalCEFApp.cookies := 'cef\cookies';
|
||||||
GlobalCEFApp.UserDataPath := 'cef\User Data';
|
GlobalCEFApp.UserDataPath := 'cef\User Data';
|
||||||
|
@@ -78,4 +78,11 @@ object JSExtensionFrm: TJSExtensionFrm
|
|||||||
Left = 32
|
Left = 32
|
||||||
Top = 224
|
Top = 224
|
||||||
end
|
end
|
||||||
|
object Timer1: TTimer
|
||||||
|
Enabled = False
|
||||||
|
Interval = 300
|
||||||
|
OnTimer = Timer1Timer
|
||||||
|
Left = 32
|
||||||
|
Top = 288
|
||||||
|
end
|
||||||
end
|
end
|
||||||
|
@@ -68,6 +68,7 @@ type
|
|||||||
StatusBar1: TStatusBar;
|
StatusBar1: TStatusBar;
|
||||||
CEFWindowParent1: TCEFWindowParent;
|
CEFWindowParent1: TCEFWindowParent;
|
||||||
Chromium1: TChromium;
|
Chromium1: TChromium;
|
||||||
|
Timer1: TTimer;
|
||||||
procedure FormShow(Sender: TObject);
|
procedure FormShow(Sender: TObject);
|
||||||
procedure GoBtnClick(Sender: TObject);
|
procedure GoBtnClick(Sender: TObject);
|
||||||
procedure Chromium1BeforeContextMenu(Sender: TObject;
|
procedure Chromium1BeforeContextMenu(Sender: TObject;
|
||||||
@@ -81,6 +82,7 @@ type
|
|||||||
const browser: ICefBrowser; sourceProcess: TCefProcessId;
|
const browser: ICefBrowser; sourceProcess: TCefProcessId;
|
||||||
const message: ICefProcessMessage; out Result: Boolean);
|
const message: ICefProcessMessage; out Result: Boolean);
|
||||||
procedure Chromium1AfterCreated(Sender: TObject; const browser: ICefBrowser);
|
procedure Chromium1AfterCreated(Sender: TObject; const browser: ICefBrowser);
|
||||||
|
procedure Timer1Timer(Sender: TObject);
|
||||||
protected
|
protected
|
||||||
FText : string;
|
FText : string;
|
||||||
|
|
||||||
@@ -205,7 +207,11 @@ end;
|
|||||||
|
|
||||||
procedure TJSExtensionFrm.FormShow(Sender: TObject);
|
procedure TJSExtensionFrm.FormShow(Sender: TObject);
|
||||||
begin
|
begin
|
||||||
Chromium1.CreateBrowser(CEFWindowParent1, '');
|
StatusBar1.Panels[0].Text := 'Initializing browser. Please wait...';
|
||||||
|
|
||||||
|
// GlobalCEFApp.GlobalContextInitialized has to be TRUE before creating any browser
|
||||||
|
// If it's not initialized yet, we use a simple timer to create the browser later.
|
||||||
|
if not(Chromium1.CreateBrowser(CEFWindowParent1, '')) then Timer1.Enabled := True;
|
||||||
end;
|
end;
|
||||||
|
|
||||||
procedure TJSExtensionFrm.WMMove(var aMessage : TWMMove);
|
procedure TJSExtensionFrm.WMMove(var aMessage : TWMMove);
|
||||||
@@ -229,8 +235,15 @@ begin
|
|||||||
SimpleTextViewerFrm.ShowModal;
|
SimpleTextViewerFrm.ShowModal;
|
||||||
end;
|
end;
|
||||||
|
|
||||||
|
procedure TJSExtensionFrm.Timer1Timer(Sender: TObject);
|
||||||
|
begin
|
||||||
|
Timer1.Enabled := False;
|
||||||
|
if not(Chromium1.CreateBrowser(CEFWindowParent1, '')) then Timer1.Enabled := True;
|
||||||
|
end;
|
||||||
|
|
||||||
procedure TJSExtensionFrm.BrowserCreatedMsg(var aMessage : TMessage);
|
procedure TJSExtensionFrm.BrowserCreatedMsg(var aMessage : TMessage);
|
||||||
begin
|
begin
|
||||||
|
StatusBar1.Panels[0].Text := '';
|
||||||
CEFWindowParent1.UpdateSize;
|
CEFWindowParent1.UpdateSize;
|
||||||
NavControlPnl.Enabled := True;
|
NavControlPnl.Enabled := True;
|
||||||
GoBtn.Click;
|
GoBtn.Click;
|
||||||
|
@@ -24,9 +24,6 @@ object PostDataInspectorFrm: TPostDataInspectorFrm
|
|||||||
item
|
item
|
||||||
Width = 50
|
Width = 50
|
||||||
end>
|
end>
|
||||||
ExplicitLeft = -119
|
|
||||||
ExplicitTop = 548
|
|
||||||
ExplicitWidth = 978
|
|
||||||
end
|
end
|
||||||
object CEFWindowParent1: TCEFWindowParent
|
object CEFWindowParent1: TCEFWindowParent
|
||||||
Left = 0
|
Left = 0
|
||||||
@@ -35,10 +32,6 @@ object PostDataInspectorFrm: TPostDataInspectorFrm
|
|||||||
Height = 666
|
Height = 666
|
||||||
Align = alClient
|
Align = alClient
|
||||||
TabOrder = 1
|
TabOrder = 1
|
||||||
ExplicitLeft = -119
|
|
||||||
ExplicitTop = 27
|
|
||||||
ExplicitWidth = 978
|
|
||||||
ExplicitHeight = 540
|
|
||||||
end
|
end
|
||||||
object NavControlPnl: TPanel
|
object NavControlPnl: TPanel
|
||||||
Left = 0
|
Left = 0
|
||||||
@@ -54,8 +47,6 @@ object PostDataInspectorFrm: TPostDataInspectorFrm
|
|||||||
Padding.Bottom = 5
|
Padding.Bottom = 5
|
||||||
ShowCaption = False
|
ShowCaption = False
|
||||||
TabOrder = 2
|
TabOrder = 2
|
||||||
ExplicitLeft = -119
|
|
||||||
ExplicitWidth = 978
|
|
||||||
object Edit1: TEdit
|
object Edit1: TEdit
|
||||||
Left = 5
|
Left = 5
|
||||||
Top = 5
|
Top = 5
|
||||||
@@ -67,7 +58,6 @@ object PostDataInspectorFrm: TPostDataInspectorFrm
|
|||||||
Text =
|
Text =
|
||||||
'https://www.w3schools.com/php/showphp.asp?filename=demo_form_pos' +
|
'https://www.w3schools.com/php/showphp.asp?filename=demo_form_pos' +
|
||||||
't'
|
't'
|
||||||
ExplicitWidth = 937
|
|
||||||
ExplicitHeight = 21
|
ExplicitHeight = 21
|
||||||
end
|
end
|
||||||
object GoBtn: TButton
|
object GoBtn: TButton
|
||||||
@@ -80,7 +70,6 @@ object PostDataInspectorFrm: TPostDataInspectorFrm
|
|||||||
Caption = 'Go'
|
Caption = 'Go'
|
||||||
TabOrder = 1
|
TabOrder = 1
|
||||||
OnClick = GoBtnClick
|
OnClick = GoBtnClick
|
||||||
ExplicitLeft = 942
|
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
object Chromium1: TChromium
|
object Chromium1: TChromium
|
||||||
@@ -89,4 +78,11 @@ object PostDataInspectorFrm: TPostDataInspectorFrm
|
|||||||
Left = 32
|
Left = 32
|
||||||
Top = 224
|
Top = 224
|
||||||
end
|
end
|
||||||
|
object Timer1: TTimer
|
||||||
|
Enabled = False
|
||||||
|
Interval = 300
|
||||||
|
OnTimer = Timer1Timer
|
||||||
|
Left = 32
|
||||||
|
Top = 288
|
||||||
|
end
|
||||||
end
|
end
|
||||||
|
@@ -62,6 +62,7 @@ type
|
|||||||
NavControlPnl: TPanel;
|
NavControlPnl: TPanel;
|
||||||
Edit1: TEdit;
|
Edit1: TEdit;
|
||||||
GoBtn: TButton;
|
GoBtn: TButton;
|
||||||
|
Timer1: TTimer;
|
||||||
procedure GoBtnClick(Sender: TObject);
|
procedure GoBtnClick(Sender: TObject);
|
||||||
procedure FormShow(Sender: TObject);
|
procedure FormShow(Sender: TObject);
|
||||||
procedure Chromium1ProcessMessageReceived(Sender: TObject;
|
procedure Chromium1ProcessMessageReceived(Sender: TObject;
|
||||||
@@ -69,6 +70,7 @@ type
|
|||||||
const message: ICefProcessMessage; out Result: Boolean);
|
const message: ICefProcessMessage; out Result: Boolean);
|
||||||
procedure Chromium1AfterCreated(Sender: TObject;
|
procedure Chromium1AfterCreated(Sender: TObject;
|
||||||
const browser: ICefBrowser);
|
const browser: ICefBrowser);
|
||||||
|
procedure Timer1Timer(Sender: TObject);
|
||||||
protected
|
protected
|
||||||
|
|
||||||
procedure BrowserCreatedMsg(var aMessage : TMessage); message CEF_AFTERCREATED;
|
procedure BrowserCreatedMsg(var aMessage : TMessage); message CEF_AFTERCREATED;
|
||||||
@@ -124,7 +126,9 @@ end;
|
|||||||
|
|
||||||
procedure TPostDataInspectorFrm.FormShow(Sender: TObject);
|
procedure TPostDataInspectorFrm.FormShow(Sender: TObject);
|
||||||
begin
|
begin
|
||||||
Chromium1.CreateBrowser(CEFWindowParent1, '');
|
// GlobalCEFApp.GlobalContextInitialized has to be TRUE before creating any browser
|
||||||
|
// If it's not initialized yet, we use a simple timer to create the browser later.
|
||||||
|
if not(Chromium1.CreateBrowser(CEFWindowParent1, '')) then Timer1.Enabled := True;
|
||||||
end;
|
end;
|
||||||
|
|
||||||
procedure TPostDataInspectorFrm.GoBtnClick(Sender: TObject);
|
procedure TPostDataInspectorFrm.GoBtnClick(Sender: TObject);
|
||||||
@@ -132,6 +136,12 @@ begin
|
|||||||
Chromium1.LoadURL(Edit1.Text);
|
Chromium1.LoadURL(Edit1.Text);
|
||||||
end;
|
end;
|
||||||
|
|
||||||
|
procedure TPostDataInspectorFrm.Timer1Timer(Sender: TObject);
|
||||||
|
begin
|
||||||
|
Timer1.Enabled := False;
|
||||||
|
if not(Chromium1.CreateBrowser(CEFWindowParent1, '')) then Timer1.Enabled := True;
|
||||||
|
end;
|
||||||
|
|
||||||
procedure TPostDataInspectorFrm.WMMove(var aMessage : TWMMove);
|
procedure TPostDataInspectorFrm.WMMove(var aMessage : TWMMove);
|
||||||
begin
|
begin
|
||||||
inherited;
|
inherited;
|
||||||
|
@@ -31,7 +31,6 @@ object SchemeRegistrationBrowserFrm: TSchemeRegistrationBrowserFrm
|
|||||||
ParentDoubleBuffered = False
|
ParentDoubleBuffered = False
|
||||||
ShowCaption = False
|
ShowCaption = False
|
||||||
TabOrder = 0
|
TabOrder = 0
|
||||||
ExplicitWidth = 865
|
|
||||||
object GoBtn: TButton
|
object GoBtn: TButton
|
||||||
Left = 944
|
Left = 944
|
||||||
Top = 5
|
Top = 5
|
||||||
@@ -42,7 +41,6 @@ object SchemeRegistrationBrowserFrm: TSchemeRegistrationBrowserFrm
|
|||||||
Caption = 'Go'
|
Caption = 'Go'
|
||||||
TabOrder = 0
|
TabOrder = 0
|
||||||
OnClick = GoBtnClick
|
OnClick = GoBtnClick
|
||||||
ExplicitLeft = 829
|
|
||||||
end
|
end
|
||||||
object AddressCbx: TComboBox
|
object AddressCbx: TComboBox
|
||||||
Left = 5
|
Left = 5
|
||||||
@@ -65,8 +63,6 @@ object SchemeRegistrationBrowserFrm: TSchemeRegistrationBrowserFrm
|
|||||||
Height = 622
|
Height = 622
|
||||||
Align = alClient
|
Align = alClient
|
||||||
TabOrder = 1
|
TabOrder = 1
|
||||||
ExplicitWidth = 865
|
|
||||||
ExplicitHeight = 528
|
|
||||||
end
|
end
|
||||||
object Chromium1: TChromium
|
object Chromium1: TChromium
|
||||||
OnBeforeContextMenu = Chromium1BeforeContextMenu
|
OnBeforeContextMenu = Chromium1BeforeContextMenu
|
||||||
@@ -75,4 +71,11 @@ object SchemeRegistrationBrowserFrm: TSchemeRegistrationBrowserFrm
|
|||||||
Left = 16
|
Left = 16
|
||||||
Top = 40
|
Top = 40
|
||||||
end
|
end
|
||||||
|
object Timer1: TTimer
|
||||||
|
Enabled = False
|
||||||
|
Interval = 300
|
||||||
|
OnTimer = Timer1Timer
|
||||||
|
Left = 16
|
||||||
|
Top = 96
|
||||||
|
end
|
||||||
end
|
end
|
||||||
|
@@ -63,6 +63,7 @@ type
|
|||||||
CEFWindowParent1: TCEFWindowParent;
|
CEFWindowParent1: TCEFWindowParent;
|
||||||
Chromium1: TChromium;
|
Chromium1: TChromium;
|
||||||
AddressCbx: TComboBox;
|
AddressCbx: TComboBox;
|
||||||
|
Timer1: TTimer;
|
||||||
procedure Chromium1AfterCreated(Sender: TObject;
|
procedure Chromium1AfterCreated(Sender: TObject;
|
||||||
const browser: ICefBrowser);
|
const browser: ICefBrowser);
|
||||||
procedure Chromium1BeforeContextMenu(Sender: TObject;
|
procedure Chromium1BeforeContextMenu(Sender: TObject;
|
||||||
@@ -74,6 +75,7 @@ type
|
|||||||
eventFlags: Cardinal; out Result: Boolean);
|
eventFlags: Cardinal; out Result: Boolean);
|
||||||
procedure GoBtnClick(Sender: TObject);
|
procedure GoBtnClick(Sender: TObject);
|
||||||
procedure FormShow(Sender: TObject);
|
procedure FormShow(Sender: TObject);
|
||||||
|
procedure Timer1Timer(Sender: TObject);
|
||||||
private
|
private
|
||||||
{ Private declarations }
|
{ Private declarations }
|
||||||
protected
|
protected
|
||||||
@@ -141,7 +143,9 @@ end;
|
|||||||
|
|
||||||
procedure TSchemeRegistrationBrowserFrm.FormShow(Sender: TObject);
|
procedure TSchemeRegistrationBrowserFrm.FormShow(Sender: TObject);
|
||||||
begin
|
begin
|
||||||
Chromium1.CreateBrowser(CEFWindowParent1, '');
|
// GlobalCEFApp.GlobalContextInitialized has to be TRUE before creating any browser
|
||||||
|
// If it's not initialized yet, we use a simple timer to create the browser later.
|
||||||
|
if not(Chromium1.CreateBrowser(CEFWindowParent1, '')) then Timer1.Enabled := True;
|
||||||
end;
|
end;
|
||||||
|
|
||||||
procedure TSchemeRegistrationBrowserFrm.GoBtnClick(Sender: TObject);
|
procedure TSchemeRegistrationBrowserFrm.GoBtnClick(Sender: TObject);
|
||||||
@@ -149,6 +153,12 @@ begin
|
|||||||
Chromium1.LoadURL(AddressCbx.Text);
|
Chromium1.LoadURL(AddressCbx.Text);
|
||||||
end;
|
end;
|
||||||
|
|
||||||
|
procedure TSchemeRegistrationBrowserFrm.Timer1Timer(Sender: TObject);
|
||||||
|
begin
|
||||||
|
Timer1.Enabled := False;
|
||||||
|
if not(Chromium1.CreateBrowser(CEFWindowParent1, '')) then Timer1.Enabled := True;
|
||||||
|
end;
|
||||||
|
|
||||||
procedure TSchemeRegistrationBrowserFrm.BrowserCreatedMsg(var aMessage : TMessage);
|
procedure TSchemeRegistrationBrowserFrm.BrowserCreatedMsg(var aMessage : TMessage);
|
||||||
begin
|
begin
|
||||||
CEFWindowParent1.UpdateSize;
|
CEFWindowParent1.UpdateSize;
|
||||||
|
@@ -141,7 +141,14 @@ object Form1: TForm1
|
|||||||
DefaultExt = 'bmp'
|
DefaultExt = 'bmp'
|
||||||
Filter = 'Bitmap files (*.bmp)|*.BMP'
|
Filter = 'Bitmap files (*.bmp)|*.BMP'
|
||||||
Title = 'Save snapshot'
|
Title = 'Save snapshot'
|
||||||
Left = 544
|
Left = 24
|
||||||
Top = 62
|
Top = 278
|
||||||
|
end
|
||||||
|
object Timer1: TTimer
|
||||||
|
Enabled = False
|
||||||
|
Interval = 300
|
||||||
|
OnTimer = Timer1Timer
|
||||||
|
Left = 24
|
||||||
|
Top = 206
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
|
@@ -64,6 +64,7 @@ type
|
|||||||
GoBtn: TButton;
|
GoBtn: TButton;
|
||||||
SnapshotBtn: TButton;
|
SnapshotBtn: TButton;
|
||||||
SaveDialog1: TSaveDialog;
|
SaveDialog1: TSaveDialog;
|
||||||
|
Timer1: TTimer;
|
||||||
|
|
||||||
procedure AppEventsMessage(var Msg: tagMSG; var Handled: Boolean);
|
procedure AppEventsMessage(var Msg: tagMSG; var Handled: Boolean);
|
||||||
|
|
||||||
@@ -94,6 +95,7 @@ type
|
|||||||
procedure chrmosrPopupSize(Sender: TObject; const browser: ICefBrowser; const rect: PCefRect);
|
procedure chrmosrPopupSize(Sender: TObject; const browser: ICefBrowser; const rect: PCefRect);
|
||||||
procedure chrmosrAfterCreated(Sender: TObject; const browser: ICefBrowser);
|
procedure chrmosrAfterCreated(Sender: TObject; const browser: ICefBrowser);
|
||||||
procedure SnapshotBtnClick(Sender: TObject);
|
procedure SnapshotBtnClick(Sender: TObject);
|
||||||
|
procedure Timer1Timer(Sender: TObject);
|
||||||
|
|
||||||
private
|
private
|
||||||
function getModifiers(Shift: TShiftState): TCefEventFlags;
|
function getModifiers(Shift: TShiftState): TCefEventFlags;
|
||||||
@@ -467,8 +469,11 @@ begin
|
|||||||
else
|
else
|
||||||
begin
|
begin
|
||||||
chrmosr.Options.BackgroundColor := CefColorSetARGB($FF, $FF, $FF, $FF); // opaque white background color
|
chrmosr.Options.BackgroundColor := CefColorSetARGB($FF, $FF, $FF, $FF); // opaque white background color
|
||||||
chrmosr.CreateBrowser(nil, '');
|
|
||||||
chrmosr.InitializeDragAndDrop(PaintBox);
|
if chrmosr.CreateBrowser(nil, '') then
|
||||||
|
chrmosr.InitializeDragAndDrop(PaintBox)
|
||||||
|
else
|
||||||
|
Timer1.Enabled := True;
|
||||||
end;
|
end;
|
||||||
end;
|
end;
|
||||||
|
|
||||||
@@ -575,4 +580,14 @@ begin
|
|||||||
if SaveDialog1.Execute then PaintBox.Buffer.SaveToFile(SaveDialog1.FileName);
|
if SaveDialog1.Execute then PaintBox.Buffer.SaveToFile(SaveDialog1.FileName);
|
||||||
end;
|
end;
|
||||||
|
|
||||||
|
procedure TForm1.Timer1Timer(Sender: TObject);
|
||||||
|
begin
|
||||||
|
Timer1.Enabled := False;
|
||||||
|
|
||||||
|
if chrmosr.CreateBrowser(nil, '') then
|
||||||
|
chrmosr.InitializeDragAndDrop(PaintBox)
|
||||||
|
else
|
||||||
|
Timer1.Enabled := True;
|
||||||
|
end;
|
||||||
|
|
||||||
end.
|
end.
|
||||||
|
@@ -61,4 +61,11 @@ object Form1: TForm1
|
|||||||
OnClick = GoBtnClick
|
OnClick = GoBtnClick
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
|
object Timer1: TTimer
|
||||||
|
Enabled = False
|
||||||
|
Interval = 300
|
||||||
|
OnTimer = Timer1Timer
|
||||||
|
Left = 80
|
||||||
|
Top = 88
|
||||||
|
end
|
||||||
end
|
end
|
||||||
|
@@ -57,9 +57,11 @@ type
|
|||||||
AddressPnl: TPanel;
|
AddressPnl: TPanel;
|
||||||
AddressEdt: TEdit;
|
AddressEdt: TEdit;
|
||||||
GoBtn: TButton;
|
GoBtn: TButton;
|
||||||
|
Timer1: TTimer;
|
||||||
procedure GoBtnClick(Sender: TObject);
|
procedure GoBtnClick(Sender: TObject);
|
||||||
procedure FormShow(Sender: TObject);
|
procedure FormShow(Sender: TObject);
|
||||||
procedure ChromiumWindow1AfterCreated(Sender: TObject);
|
procedure ChromiumWindow1AfterCreated(Sender: TObject);
|
||||||
|
procedure Timer1Timer(Sender: TObject);
|
||||||
private
|
private
|
||||||
// You have to handle this two messages to call NotifyMoveOrResizeStarted or some page elements will be misaligned.
|
// You have to handle this two messages to call NotifyMoveOrResizeStarted or some page elements will be misaligned.
|
||||||
procedure WMMove(var aMessage : TWMMove); message WM_MOVE;
|
procedure WMMove(var aMessage : TWMMove); message WM_MOVE;
|
||||||
@@ -89,15 +91,21 @@ implementation
|
|||||||
|
|
||||||
procedure TForm1.FormShow(Sender: TObject);
|
procedure TForm1.FormShow(Sender: TObject);
|
||||||
begin
|
begin
|
||||||
|
Caption := 'Simple Browser - Initializing browser. Please wait...';
|
||||||
|
|
||||||
// You *MUST* call CreateBrowser to create and initialize the browser.
|
// You *MUST* call CreateBrowser to create and initialize the browser.
|
||||||
// This will trigger the AfterCreated event when the browser is fully
|
// This will trigger the AfterCreated event when the browser is fully
|
||||||
// initialized and ready to receive commands.
|
// initialized and ready to receive commands.
|
||||||
ChromiumWindow1.CreateBrowser;
|
|
||||||
|
// GlobalCEFApp.GlobalContextInitialized has to be TRUE before creating any browser
|
||||||
|
// If it's not initialized yet, we use a simple timer to create the browser later.
|
||||||
|
if not(ChromiumWindow1.CreateBrowser) then Timer1.Enabled := True;
|
||||||
end;
|
end;
|
||||||
|
|
||||||
procedure TForm1.ChromiumWindow1AfterCreated(Sender: TObject);
|
procedure TForm1.ChromiumWindow1AfterCreated(Sender: TObject);
|
||||||
begin
|
begin
|
||||||
// Now the browser is fully initialized we can load the initial web page.
|
// Now the browser is fully initialized we can load the initial web page.
|
||||||
|
Caption := 'Simple Browser';
|
||||||
AddressPnl.Enabled := True;
|
AddressPnl.Enabled := True;
|
||||||
GoBtn.Click;
|
GoBtn.Click;
|
||||||
end;
|
end;
|
||||||
@@ -108,6 +116,12 @@ begin
|
|||||||
ChromiumWindow1.LoadURL(AddressEdt.Text);
|
ChromiumWindow1.LoadURL(AddressEdt.Text);
|
||||||
end;
|
end;
|
||||||
|
|
||||||
|
procedure TForm1.Timer1Timer(Sender: TObject);
|
||||||
|
begin
|
||||||
|
Timer1.Enabled := False;
|
||||||
|
if not(ChromiumWindow1.CreateBrowser) then Timer1.Enabled := True;
|
||||||
|
end;
|
||||||
|
|
||||||
procedure TForm1.WMMove(var aMessage : TWMMove);
|
procedure TForm1.WMMove(var aMessage : TWMMove);
|
||||||
begin
|
begin
|
||||||
inherited;
|
inherited;
|
||||||
|
Reference in New Issue
Block a user