什么是CEF4Delphi?
CEF4Delphi是由Salvador Díaz Fau創建的一個開源項目,用於在基於Delphi或Lazarus/FPC的應用程序中嵌入基於谷歌內核
Github地址
https://github.com/salvadordf/CEF4Delphi
控件下載
控件下載控件安裝
在最新版本的Delphi中構建和安裝CEF4delphi
- 1、下載CEF4Delphi
查看更多關於 CEF4Delphi 的文章
- 2、將CEF4Delphi解壓到一個目錄中,並確保您的用戶在該目錄中擁有寫入權限。
- 3、運行Delphi。
- 4、把CEF4Delphi的source目錄添加到Delphi的開發環境中去,
在開發環境導航欄中點擊Tools->Options-> Environment Options->Delphi Options->Library,
選擇一個正確的平台(32或64),把目錄添加到Library path中。
在Delphi7中構建和安裝CEF4delphi
- 1、下載CEF4Delphi的最新版本。
- 2、將CEF4Delphi解壓到一個目錄中,並確保您的用戶在該目錄中擁有寫入權限。
- 3、運行Delphi。
- 4、把CEF4Delphi的source目錄添加到Delphi的開發環境中去,
在開發環境導航欄中點擊Tools->Options-> Environment Options->Delphi Options->Library,
選擇一個正確的平台(32或64),把目錄添加到Library path中。 - 5、在Delphi中打開CEF4Delphi_D7.dpk文件。
- 6、點擊 Compile 編譯按鈕。
- 7、點擊 Install 安裝按鈕。
在Lazarus中構建和安裝CEF4delphi
- 1、下載CEF4Delphi的最新版本。
- 2、將CEF4Delphi解壓到一個目錄中,並確保您的用戶在該目錄中擁有寫入權限。
- 3、運行Lazarus。
- 4、在Package->Open Package File (*.lpk)菜單中打開cef4delphi_lazarus.lpk文件
- 5、在 package窗口點擊 Compile 編譯按鈕
- 6、點擊 Use 按鈕,選擇 Install 選項。
支持的操作系統版本
Google宣布,他們在2015放棄Windows XP支持Chrome。與WindowsXP兼容的最后一個CEF3分支是2623,發布於2016。
由於CEF4Delphi使用了最新的CEF3分支,它與WindowsXP、WindowsVista、Windows Server 2003和Windows Server 2008不兼容。
CEF4Delphi需要Windows 7, 8,8.1,10或更高的操作系統。
如果您需要支持應用程序中的Windows XP和Vista,請使用OLDCEF4Delphi。
用法
在首次使用CEF4Delphi之前,強烈建議閱讀關於CEF3和 Chromium設計文檔的所有信息。
CEF3使用多個進程,並且運行相同的可執行文件或不同的進程來創建它們。這就是為什么在TApplication運行之前需要對CEF3進行初始化的原因。
CEF4Delphi使用TCEFApplication類中的GlobalCEFApp簡化了所有CEF3 初始化。
由於TApplication必須只在主進程中初始化和運行,所以有必要創建GlobalCEFApp並調用GlobalCEFApp.StartMainProcess來檢測這是否是主進程。
Delphi應用程序在.Dpr文件中使用此代碼:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
|
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指令。
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
|
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子句中。
Demo
以自帶Demo為例,打開CEF4Delphi-master->demos->SimpleBrowser,以此為例。雙擊SimpleBrowser.dpr,編譯運行后會顯示缺少或多東西,如下圖所示。
原因是缺少Chromium框架,需要先下載框架:https://github.com/salvadordf/CEF4Delphi
注意:請正確下載相應版本。如果當前應用為32位,下載32位框架;如果當前應用為64位,下載64位框架。並且請只在這里下載,保證控件和框架版本相對應,否則會提示不支持的版本!
將下載好的文件解壓縮,將../Resources文件夾中的內容全部復制到../Release文件夾中,保證為如下圖所示布局:
將這里編譯好的SimpleBrowser.exe文件復制到Chromium框架的../Release文件夾中,雙擊運行,如下圖所示: