AI摘要

本文介绍了如何在Delphi应用程序中使用CEF4Delphi库。首先,建议阅读关于CEF3和Chromium设计文档的信息。然后,通过创建GlobalCEFApp全局变量并调用其StartMainProcess函数,可以简化CEF3的初始化过程。文章提供了一个示例代码,展示了如何在.Dpr文件中包含CEF4Delphi库,并在应用程序中使用GlobalCEFApp。最后,强调了GlobalCEFApp的创建和StartMainProcess函数的调用必须在if..then子句中进行。
本文介绍了如何在Delp

在首次使用CEF4Delphi之前,强烈建议阅读关于CEF3和 Chromium设计文档的所有信息。

CEF3使用多个进程,并且运行相同的可执行文件或不同的进程来创建它们。这就是为什么在TApplication运行之前需要对CEF3进行初始化的原因。

CEF4Delphi使用TCEFApplication类中的GlobalCEFApp简化了所有CEF3 初始化。

由于TApplication必须只在主进程中初始化和运行,所以有必要创建GlobalCEFApp并调用GlobalCEFApp.StartMainProcess来检测这是否是主进程。

Delphi应用程序在.Dpr文件中使用此代码:

program Project1;

uses
Vcl.Forms,
Unit1 in 'Unit1.pas' {Form1};

{$R *.res}

begin
Application.Initialize;
Application.MainFormOnTaskbar := True;
Application.CreateForm(TForm1, Form1);
Application.Run;
end.

program Project1;

uses
Vcl.Forms,
Unit1 in 'Unit1.pas' {Form1};

{$R *.res}

begin
Application.Initialize;
Application.MainFormOnTaskbar := True;
Application.CreateForm(TForm1, Form1);
Application.Run;
end.
要包含CEF4Delphi,您只需将uCEFApplication 和WinApi.Windows添加到USER子句,创建GlobalCEFApp全局变量,调用GlobalCEFApp.StartMainProcess函数和GlobalCEFApp在最后一步中。您还必须添加SetPEFlags指令。

program Project1;

uses
Vcl.Forms,
WinApi.Windows,
uCEFApplication,
Unit1 in 'Unit1.pas' {Form1};

{$R *.res}

{$SetPEFlags IMAGE_FILE_LARGE_ADDRESS_AWARE}

begin
GlobalCEFApp := TCefApplication.Create;

if GlobalCEFApp.StartMainProcess then

begin
  Application.Initialize;
  Application.MainFormOnTaskbar := True;
  Application.CreateForm(TForm1, Form1);
  Application.Run;
end;

GlobalCEFApp.Free;
end.

program Project1;

uses
Vcl.Forms,
WinApi.Windows,
uCEFApplication,
Unit1 in 'Unit1.pas' {Form1};

{$R *.res}

{$SetPEFlags IMAGE_FILE_LARGE_ADDRESS_AWARE}

begin
GlobalCEFApp := TCefApplication.Create;

if GlobalCEFApp.StartMainProcess then

begin
  Application.Initialize;
  Application.MainFormOnTaskbar := True;
  Application.CreateForm(TForm1, Form1);
  Application.Run;
end;

GlobalCEFApp.Free;
end.

GlobalCEFApp创建必须在.Dpr文件中,并且对GlobalCEFApp.StartMainProcess 的调用必须在if..then子句中。



最后修改:2020 年 01 月 29 日
点赞的人是最酷的