分享: C++Builder 的 CEF4 浏览器控件来了
sczyq 2018-03-21 11:04:11 https://download.csdn.net/download/sczyq/10298006
--------------------------------------------------------------
CEF4 for Delphi & C++Builder
--------------------------------------------------------------
最新版 CEF4 下载地址:https://github.com/salvadordf/CEF4Delphi
但是只能应用到 Delphi 这个版本是 3.3325.1749.ga42963a 在 2018.03.20 下载的,请注意版本号
为了保证版本一致性,一并打包了库文件在 Library.win32 ,Win64 的库自已去下载。
--------------------------------------------------------------
库文件:
Library.win32 文件夹是CEF4用到的所有库文件,你应当复制到一个路径,路径名自定义
--------------------------------------------------------------
项目文件:
CEF4 是项目文件,适用于 RAD Studio 10.2.x 直接打开工程文件 CEF4WB.dproj 建议先编译(Debug+Release)再安装
同时 C++Builder 的 .hpp 文件在 $(BDSINCLUDE)\windows\CEF4 文件夹,应当加入到 Include 路径列表中
发布用的
--------------------------------------------------------------
文件修改说明:
1、文件名,主要是文件命名一致性
uBufferPanel.pas 改为 uCEFBufferPanel.pas
uOLEDragAndDrop.pas 改为 uCEFOLEDragAndDrop.pas
CEF4Delphi_Register.pas 改为 CEF4WB_Register.pas
同时修改了引用这些单元的相关 uses 单元
2、删除了 uFMX*.pas 是 FMX 用的,这里都是 VCL
3、修改了以下文件的 out 参数调用方式为 var ,否则 C++Builder 不能用
uCEFChromiumEvents.pas
uCEFChromiumWindow.pas
4、修改了 uCEFApplication.pas 的 TCefApplication.Create 函数加上CEF库路径参数(Library.win32 文件夹完整路径)
5、uCEFRenderProcessHandler.pas
增加了 RenderProcessHandler_OnWebKitInitialized 函数与 TCefJavaScriptExtension 类
同时 uCEFApplication.pas 中 TCefApplication.OnWebKitInitialized 已经 OK 了
你可以通过 JavaScript 取得返回值。非常有用的功能,强烈推荐。
----- 执行 JavaScript 得到返回值 ---------------------------------------------
DELPHI: Chromium1.ExecuteJavaScript('var JSResult="123456"; JSExt.Notify("myresult", JSResult);', '', 0);
BCB: Chromium1->ExecuteJavaScript("var JSResult='123456'; JSExt.Notify('myresult', JSResult);", "", 0);
--------------------------------------------------------------------------------
你就可以在 TChromium.OnProcessMessageReceived 的事件中得到 Name = 'myresult' 的 '123456' 值。