Lazarus - Error running program with fpCEF

Asked

Viewed 297 times

2

I’m having trouble following this simple tutorial building a Webbrowser using fpCEF.

I downloaded the latest version of fpCEF straight from Github, for version 3.2526 of CEF, and its binaries I took from Cefbuilds (only reliable place I found that had this old build already).

Well, I’m using the Lazarus 1.6 r51630 FPC 3.0.0 x86_64-win64-win32/win64, I am using Windows 10 x64.

When trying to run the program using the x64 binaries (placing them as the tutorial has passed) the program does not open and the debug window appears with the following lines:

00007FFA02F74163 4883c428                 add    $0x28,%rsp

And in case I try to directly run the created exe I get the error External exception 80000003

If I try to run with x86 (32 bit) binaries, I get the error OS Code 193

I’m almost appealing to use an Activex control to load IE with so many errors with CEF.

What can I do to make the fpCEF run?

1 answer

2


1- Download the FPCEF, install the FPCEF in your Lazarus as you should already have done

2- Download the corresponding version of cef binaries, if for example 2543 your fpcef, you have to use the binaries of CEF 2543, and so on and uncompress creating the cef_binary folder where you have the folder Release and Resources.

3-Inside your project folder copy only the files of the briefcase Release at the root of your project. (as you may have already done)

4- Copy the Resources folder entire to the root of your project getting the Resources folder created inside the project root. (as you may have already done)

5- And now the secret of your mistake: Make an extra copy of the icudtl.dat file that is now inside the project’s Resources folder into the project’s root folder as well.

6- And finally in your Formcreate ensure that the application is finding the full path of the framework binaries, because in the tutorial he used the partial path and the FPCEF only works like this in the old versions.

myworkdir := GetCurrentDir;
CefResourcesDirPath:=concat(myworkdir, '\Resources');
CefLocalesDirPath:=concat(myworkdir, '\Resources\locales');

(Because fpcef needs the INTEGER path to find the CEF binary, obviously you have to declare the myworkdir variable as string).

Ready now will already run (outside of Lazarus, or be direct by executable) without this message.

  • Thanks! I will test here and if it works milestone as correct!

  • It worked! Including compiling the project to a separate folder (in which case the project was in src and the executable (with the CEF files) in the bin. I suggest editing the answer and adding that warning not to run the program by Lazarus using F9, except that excellent answer! Thank you very much!

  • 1

    OK was added.

Browser other questions tagged

You are not signed in. Login or sign up in order to post.