2018-01-25 21:34:04 +01:00
|
|
|
program FMXExternalPumpBrowser;
|
|
|
|
|
|
|
|
uses
|
|
|
|
{$IFDEF DELPHI17_UP}
|
|
|
|
System.StartUpCopy,
|
|
|
|
{$ENDIF}
|
|
|
|
FMX.Forms,
|
|
|
|
uCEFApplication,
|
2019-04-04 10:26:44 +02:00
|
|
|
uCEFFMXWorkScheduler,
|
2018-01-25 21:34:04 +01:00
|
|
|
uFMXExternalPumpBrowser in 'uFMXExternalPumpBrowser.pas' {FMXExternalPumpBrowserFrm},
|
|
|
|
uFMXApplicationService in 'uFMXApplicationService.pas';
|
|
|
|
|
|
|
|
{$R *.res}
|
|
|
|
|
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-01-25 21:34:04 +01:00
|
|
|
|
|
|
|
begin
|
2018-06-17 14:18:11 +02:00
|
|
|
// GlobalCEFApp creation and initialization moved to a different unit to fix the memory leak described in the bug #89
|
|
|
|
// https://github.com/salvadordf/CEF4Delphi/issues/89
|
|
|
|
CreateGlobalCEFApp;
|
2018-01-25 21:34:04 +01:00
|
|
|
|
|
|
|
if GlobalCEFApp.StartMainProcess then
|
|
|
|
begin
|
|
|
|
Application.Initialize;
|
|
|
|
Application.CreateForm(TFMXExternalPumpBrowserFrm, FMXExternalPumpBrowserFrm);
|
|
|
|
Application.Run;
|
|
|
|
|
|
|
|
// The form needs to be destroyed *BEFORE* stopping the scheduler.
|
|
|
|
FMXExternalPumpBrowserFrm.Free;
|
|
|
|
|
2018-04-07 20:24:55 +02:00
|
|
|
GlobalFMXWorkScheduler.StopScheduler;
|
2018-01-25 21:34:04 +01:00
|
|
|
end;
|
|
|
|
|
2018-06-17 14:18:11 +02:00
|
|
|
DestroyGlobalCEFApp;
|
|
|
|
DestroyGlobalFMXWorkScheduler;
|
2018-01-25 21:34:04 +01:00
|
|
|
end.
|