Chromium Embedded Framework for Free Pascal
cef3.lpk
into LazarusExamples
folder. LCLSimple
is a good starting pointImportant:
Most examples use build modes. Make sure to select the correct one, otherwise compilation will fail.
Follow the instructions on the wiki.
A CEF package contains
Release
or Debug
folder andResources
folder.By default CEF expects the library and binaries in PATH
(Windows) or LD_LIBRARY_PATH
(Linux) and the the resources in the same folder as the executable. A custom path for the library can be set using CefLibraryDirPath
. The path for the resources can be changed by setting CefResourcesDirPath
and CefLocalesDirPath
. However, some files cannot be moved:
chrome_elf.dll
has to be in PATH
or the same folder as the executableicudtl.dat
has to be in PATH
icudtl.dat
and *_blob.bin
have to be in the same folder as the executableImportant:
Make sure to include cthreads
as the first unit in your main program.
If you build CEF3 yourself make sure tcmalloc
is disabled.
Don't use --single-process
or change CefSingleProcess
to True
. This mode is not officially supported by Chromium.
If the browser goes "blank" (e.g. when loading a page), the render process crashed. See Debugging on how to debug the render process. The render process restarts automatically on the next page request.
If CEF is initialized a subprocess is started. By default a second instance of the main program is used as the subprocess. Nevertheless, the preferred way is to define an own (minimal) subprocess executable. In fpCEF3 this can be done by setting CefBrowserSubprocessPath
to the path of the subprocess executable. In the LCLSimple
example this setting can be found in the Initialization
section at the end of main.pas
.
A minimal subprocess can be found in the folder /Examples/SubProcess
. The subprocess also needs the CEF3 library and resources in its path, so it is recommended to put the subprocess executable in the same folder as the main exe.
More details can be found here.
Sometimes it is useful to debug the subprocesses spawned by cef. On Linux this can be done by adding
--renderer-cmd-prefix='xterm -title renderer -e gdb --args'
to the command line.
Further details can be found here.
You can find comments and usage information in
Examples
folder