program ExternalPumpBrowser; {$I ..\..\..\source\cef.inc} uses {$IFDEF DELPHI16_UP} Vcl.Forms, {$ELSE} Forms, {$ENDIF } uCEFApplication, uCEFWorkScheduler, uExternalPumpBrowser in 'uExternalPumpBrowser.pas' {ExternalPumpBrowserFrm}; {$R *.res} 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} begin // 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; if GlobalCEFApp.StartMainProcess then begin Application.Initialize; {$IFDEF DELPHI11_UP} Application.MainFormOnTaskbar := True; {$ENDIF} Application.CreateForm(TExternalPumpBrowserFrm, ExternalPumpBrowserFrm); Application.Run; // The form needs to be destroyed *BEFORE* stopping the scheduler. ExternalPumpBrowserFrm.Free; GlobalCEFWorkScheduler.StopScheduler; end; DestroyGlobalCEFApp; DestroyGlobalCEFWorkScheduler; end.