1
0
mirror of https://github.com/salvadordf/CEF4Delphi.git synced 2025-06-12 22:07:39 +02:00
Files
.github
bin
demos
Delphi_FMX_Linux
Delphi_FMX_Mac
Delphi_FMX_Windows
Delphi_VCL
ConsoleBrowser
ConsoleBrowser2
CookieVisitor
CustomResourceBrowser
DLLBrowser
DOMVisitor
EditorBrowser
Extensions
ExternalPumpBrowser
FullScreenBrowser
JavaScript
KioskOSRBrowser
MDIBrowser
MDIExternalPumpBrowser
MediaRouter
MiniBrowser
OAuth2Tester
OSRExternalPumpBrowser
PopupBrowser
PopupBrowser2
PostInspectorBrowser
ResponseFilterBrowser
SchemeRegistrationBrowser
SimpleBrowser
SimpleBrowser2
SimpleExternalPumpBrowser
SimpleOSRBrowser
SimpleServer
SubProcess
00-DeleteDCUs.bat
SimpleBrowser.dpr
SimpleBrowser.dproj
SimpleBrowser_sp.dpr
SimpleBrowser_sp.dproj
SubProcessGrp.groupproj
cef.inc
uCEFLoader.pas
uSimpleBrowser.dfm
uSimpleBrowser.pas
TabbedBrowser
TabbedBrowser2
TinyBrowser
TinyBrowser2
ToolBoxBrowser
ToolBoxBrowser2
ToolBoxSubProcessBrowser
URLRequest
WebpageSnapshot
Lazarus_Linux
Lazarus_Mac
Lazarus_Windows
Lazarus_any_OS
packages
source
tools
.gitignore
Delphinus.Info.json
Delphinus.Install.json
LICENSE.md
README.md
update_CEF4Delphi.json
CEF4Delphi/demos/Delphi_VCL/SubProcess/uCEFLoader.pas

90 lines
3.0 KiB
ObjectPascal
Raw Normal View History

// ************************************************************************
// ***************************** CEF4Delphi *******************************
// ************************************************************************
//
// CEF4Delphi is based on DCEF3 which uses CEF to embed a chromium-based
// browser in Delphi applications.
//
// The original license of DCEF3 still applies to CEF4Delphi.
//
// For more information about CEF4Delphi visit :
// https://www.briskbard.com/index.php?lang=en&pageid=cef
//
2021-01-01 11:11:30 +01:00
// Copyright � 2021 Salvador Diaz Fau. All rights reserved.
//
// ************************************************************************
// ************ vvvv Original license and comments below vvvv *************
// ************************************************************************
(*
* Delphi Chromium Embedded 3
*
* Usage allowed under the restrictions of the Lesser GNU General Public License
* or alternatively the restrictions of the Mozilla Public License 1.1
*
* Software distributed under the License is distributed on an "AS IS" basis,
* WITHOUT WARRANTY OF ANY KIND, either express or implied. See the License for
* the specific language governing rights and limitations under the License.
*
* Unit owner : Henri Gourvest <hgourvest@gmail.com>
* Web site : http://www.progdigy.com
* Repository : http://code.google.com/p/delphichromiumembedded/
* Group : http://groups.google.com/group/delphichromiumembedded
*
* Embarcadero Technologies, Inc is not permitted to use or redistribute
* this source code without explicit permission.
*
*)
unit uCEFLoader;
interface
implementation
uses
{$IFDEF CEFSUBPROCESS}
uCEFApplicationCore;
{$ELSE}
uCEFApplication;
{$ENDIF}
procedure CreateGlobalCEFApp;
begin
// In case you prefer to call CreateGlobalCEFApp and DestroyGlobalCEFApp manually
// you have to remember that GlobalCEFApp can only be initialized *ONCE* per process.
// This is a CEF requirement and there's no workaround.
if (GlobalCEFApp <> nil) then
exit;
{$IFDEF CEFSUBPROCESS}
GlobalCEFApp := TCefApplicationCore.Create;
{$ELSE}
GlobalCEFApp := TCefApplication.Create;
GlobalCEFApp.BrowserSubprocessPath := 'SimpleBrowser_sp.exe';
{$ENDIF}
// In case you want to use custom directories for the CEF binaries, cache and user data.
// If you don't set a cache directory the browser will use in-memory cache.
// The cache and user data directories must be writable.
{
GlobalCEFApp.FrameworkDirPath := 'cef';
GlobalCEFApp.ResourcesDirPath := 'cef';
GlobalCEFApp.LocalesDirPath := 'cef\locales';
GlobalCEFApp.cache := 'cef\cache';
GlobalCEFApp.UserDataPath := 'cef\User Data';
}
// This demo uses a different EXE for the subprocesses.
// With this configuration it's not necessary to have the
// GlobalCEFApp.StartMainProcess call in a if..then clause.
GlobalCEFApp.StartMainProcess;
end;
initialization
CreateGlobalCEFApp;
finalization
DestroyGlobalCEFApp;
end.