2018-10-25 19:09:24 +02:00
|
|
|
program OSRSubProcess;
|
|
|
|
|
|
|
|
uses
|
2019-11-11 11:38:01 +01:00
|
|
|
uCEFApplicationCore,
|
2018-10-25 19:09:24 +02:00
|
|
|
uCEFConstants;
|
|
|
|
|
2023-11-26 19:28:28 +01:00
|
|
|
const
|
|
|
|
IMAGE_FILE_LARGE_ADDRESS_AWARE = $0020;
|
|
|
|
|
|
|
|
// CEF needs to set the LARGEADDRESSAWARE ($20) flag which allows 32-bit processes to use up to 3GB of RAM.
|
|
|
|
{$IFDEF WIN32}{$SetPEFlags IMAGE_FILE_LARGE_ADDRESS_AWARE}{$ENDIF}
|
2018-10-25 19:09:24 +02:00
|
|
|
|
|
|
|
// To test this demo you need to build the ConsoleLoader, OSRDLLBrowser and OSRSubProcess projects found in this directory.
|
|
|
|
|
|
|
|
begin
|
2019-11-11 11:38:01 +01:00
|
|
|
GlobalCEFApp := TCefApplicationCore.Create;
|
2018-10-25 19:09:24 +02:00
|
|
|
|
|
|
|
// The main process and the subprocess *MUST* have the same FrameworkDirPath, ResourcesDirPath,
|
|
|
|
// LocalesDirPath, cache, cookies and UserDataPath paths
|
|
|
|
|
|
|
|
// The demos are compiled into the BIN directory. Make sure SubProcess.exe and SimpleBrowser.exe are in that
|
|
|
|
// directory or this demo won't work.
|
|
|
|
|
2019-09-19 14:14:03 +02:00
|
|
|
// In case you want to use custom directories for the CEF3 binaries, cache and user data.
|
2018-10-25 19:09:24 +02:00
|
|
|
{
|
|
|
|
GlobalCEFApp.FrameworkDirPath := 'cef';
|
|
|
|
GlobalCEFApp.ResourcesDirPath := 'cef';
|
|
|
|
GlobalCEFApp.LocalesDirPath := 'cef\locales';
|
|
|
|
GlobalCEFApp.cache := 'cef\cache';
|
|
|
|
GlobalCEFApp.UserDataPath := 'cef\User Data';
|
|
|
|
GlobalCEFApp.LogFile := 'debug.log';
|
|
|
|
GlobalCEFApp.LogSeverity := LOGSEVERITY_INFO;
|
|
|
|
}
|
|
|
|
|
|
|
|
GlobalCEFApp.WindowlessRenderingEnabled := True;
|
|
|
|
GlobalCEFApp.SetCurrentDir := True;
|
|
|
|
GlobalCEFApp.ExternalMessagePump := False;
|
|
|
|
GlobalCEFApp.MultiThreadedMessageLoop := False;
|
|
|
|
|
|
|
|
GlobalCEFApp.StartSubProcess;
|
|
|
|
GlobalCEFApp.Free;
|
|
|
|
GlobalCEFApp := nil;
|
|
|
|
end.
|
|
|
|
|