mirror of
https://github.com/salvadordf/CEF4Delphi.git
synced 2025-04-17 06:57:13 +02:00
60 lines
1.8 KiB
ObjectPascal
60 lines
1.8 KiB
ObjectPascal
program SubProcess;
|
|
|
|
{$MODE Delphi}
|
|
|
|
{$I ..\..\..\..\source\cef.inc}
|
|
|
|
uses
|
|
{$IFDEF DELPHI16_UP}
|
|
WinApi.Windows,
|
|
{$ELSE}
|
|
LCLIntf, LCLType, LMessages, Forms, Interfaces,
|
|
{$ENDIF}
|
|
uCEFApplicationCore,
|
|
uCEFConstants,
|
|
uCEFv8Value,
|
|
uCEFInterfaces;
|
|
|
|
// CEF3 needs to set the LARGEADDRESSAWARE flag which allows 32-bit processes to use up to 3GB of RAM.
|
|
{$SetPEFlags $20}
|
|
|
|
procedure GlobalCEFApp_OnContextCreated(const browser: ICefBrowser; const frame: ICefFrame; const context: ICefv8Context);
|
|
var
|
|
TempValue : ICEFv8Value;
|
|
begin
|
|
// This is the first JS Window Binding example in the "JavaScript Integration" wiki page at
|
|
// https://bitbucket.org/chromiumembedded/cef/wiki/JavaScriptIntegration.md
|
|
|
|
TempValue := TCefv8ValueRef.NewString('My Value!');
|
|
|
|
context.Global.SetValueByKey('myval', TempValue, V8_PROPERTY_ATTRIBUTE_NONE);
|
|
end;
|
|
|
|
{$R *.res}
|
|
|
|
begin
|
|
GlobalCEFApp := TCefApplicationCore.Create;
|
|
GlobalCEFApp.OnContextCreated := GlobalCEFApp_OnContextCreated;
|
|
GlobalCEFApp.SetCurrentDir := True;
|
|
|
|
// The main process and the subprocess *MUST* have the same FrameworkDirPath, ResourcesDirPath,
|
|
// LocalesDirPath, cache and UserDataPath paths
|
|
|
|
// The demos are compiled into the BIN directory. Make sure SubProcess.exe and JSSimpleWindowBinding.exe are in that
|
|
// directory or this demo won't work.
|
|
|
|
// In case you want to use custom directories for the CEF3 binaries, cache and user data.
|
|
{
|
|
GlobalCEFApp.FrameworkDirPath := 'cef';
|
|
GlobalCEFApp.ResourcesDirPath := 'cef';
|
|
GlobalCEFApp.LocalesDirPath := 'cef\locales';
|
|
GlobalCEFApp.cache := 'cef\cache';
|
|
GlobalCEFApp.UserDataPath := 'cef\User Data';
|
|
}
|
|
|
|
GlobalCEFApp.StartSubProcess;
|
|
GlobalCEFApp.Free;
|
|
GlobalCEFApp := nil;
|
|
end.
|
|
|