Disclosure Statement: This site contains affiliate links, which means that I may receive a commission if you make a purchase using these links. As an eBay Partner, I earn from qualifying purchases.
If you find these projects useful please consider becoming a sponsor with Patreon, GitHub or Liberapay.

Upgrading CEF4Delphi

KenS
Posts: 28
Joined: Sat Aug 10, 2024 12:44 am
Location: Australia

Re: Upgrading CEF4Delphi

Post by KenS »

Debug Output:
HEAP: Free Heap block 02063BC0 modified at 02063BF8 after it was freed

Process SimpleBrowser2.exe (11532)
User avatar
salvadordf
Posts: 4564
Joined: Thu Feb 02, 2017 12:24 pm
Location: Spain
Contact:

Re: Upgrading CEF4Delphi

Post by salvadordf »

I just deleted all the cache files, built CEF4Delphi and the SimpleBRowser2 demo again.

I kept it running for several minutes and I couldn't reproduce this issue.

You mentioned that decompressing the CEF binaries takes several hours in that computer and that's NOT normal.

I would check for viruses and I would also check the hard drive for errors.

See if your antivirus software is blocking or deleting some file in the CEF binaries.

Try the demo in a different computer.
KenS
Posts: 28
Joined: Sat Aug 10, 2024 12:44 am
Location: Australia

Re: Upgrading CEF4Delphi

Post by KenS »

I have never used github. When I distributed software, I just had one install file, asked for a directory, and installed . Any software components I have installed (ZipForge, EmailArchitect) do not seem to use github, just a file to download and run.

But I am older now than when I sold software!!!

Ok ...
Scanned for viruses, all ok
AV does not show any programs blocked

Deleted all cache files
Uninstalled VEF4Delphi, uninstalled group file.
Downloaded cef_binary_127.3.4+ge9e2e14+chromium-127.0.6533.100_windows32.tar.bz2
Copied contents of Release to my CEF4Delphi bin folder
Copied Resources to my bin
Copied locales to my bin

Downloaded CEF4Delphi-master-zip and unpacked

Built SimpleBrowser2 ... been ok for a few minutes!!!!!!!!!!!!!!!!!!!!!!!!!!!!!

Is it not possible to have one install file for just Delphi, Win 32?

Ken
User avatar
salvadordf
Posts: 4564
Joined: Thu Feb 02, 2017 12:24 pm
Location: Spain
Contact:

Re: Upgrading CEF4Delphi

Post by salvadordf »

I've never created an installer for an open source component but I guess it wouldn't be easy to make it compatible with Lazarus 3.4 and all the Delphi versions from Delphi 6 up to Delphi 12.1.

Lazarus runs natively in MacOS and Linux so there should also be multiple versions for those operating systems, x86, x64 and ARM CPUs.

Releasing an installable package or package group is a lot less complicated for me and it's very common for open source projects.
KenS
Posts: 28
Joined: Sat Aug 10, 2024 12:44 am
Location: Australia

Re: Upgrading CEF4Delphi

Post by KenS »

Good points about your install process relating to open source.

Motoring along now ... my email program creates multiple instances MiniBrowser (one for each email you wanted to view), then adds my buttons to the form at run time (next email, last email, etc).

As per your good advice these are now TSimpleBrowser2 components. Just changed my reference and fixed up the compile errors one by one, seems to ne ok (for what I have one).

Next step is to reply to an email, new email, etc. I was using EditorBrowser - what do you recommend? (with reference to your comment to use SimpleBrower2 as being on new methos).

Thanks
Ken
KenS
Posts: 28
Joined: Sat Aug 10, 2024 12:44 am
Location: Australia

Re: Upgrading CEF4Delphi

Post by KenS »

Quick one hopefully ... The caption I set on my SimpleBrowser2 forms keeps getting "stolen" by your CEF4Delphi code. I have tracked it down to a message routine for CEF_AFTERCREATED.

I cannot seem to capture the process after that message is sent. I guess I could just comment out your code setting the caption but I am really trying this time to leave your code intact (last year I hacked bits of your code).

Clues?

Thanks
Ken
User avatar
salvadordf
Posts: 4564
Joined: Thu Feb 02, 2017 12:24 pm
Location: Spain
Contact:

Re: Upgrading CEF4Delphi

Post by salvadordf »

I'm taking a few days off. I'll answer you on Sunday.
KenS
Posts: 28
Joined: Sat Aug 10, 2024 12:44 am
Location: Australia

Re: Upgrading CEF4Delphi

Post by KenS »

salvadordf wrote: Wed Aug 14, 2024 10:08 am I'm taking a few days off. I'll answer you on Sunday.
No problems.

I will put some stuff here for after you return, otherwise I will probably forget it :lol:

Not losing the caption on SimpleBrowser2: After Application.CreateForm I added uvViewingBrowserForm[uvCurrentBrowserForm].Chromium1.OnAfterCreated:=NIL;
This does what I want and from what I can see there should be no "ripple" problems.

Is Find suppose to work for SimpleBrowser2?

Previously, when using MiniBrowser, the following found the first match, then progressive finds:
MiniBrowserFrm[CurrentBrowserForm].Chromium1.Find(uvSearchID,uvSearchEdit.Text,TRUE,FALSE,uvFirstNext);

Changing to SimpleBrowser2
uvViewingBrowserForm[uvCurrentBrowserForm].Chromium1.Find(uvSearchEdit.Text,TRUE,FALSE,uvFirstNext);
does not seem to display anything

Thanks Ken
User avatar
salvadordf
Posts: 4564
Joined: Thu Feb 02, 2017 12:24 pm
Location: Spain
Contact:

Re: Upgrading CEF4Delphi

Post by salvadordf »

Hi,

I need to update the demos because the new "Chrome runtime" mode has some API changes.

In the case of the Find functions try calling TChromiumCore.ExecuteChromeCommand

Use the IDC_FIND, IDC_FIND_NEXT, IDC_FIND_PREVIOUS or IDC_CLOSE_FIND_OR_STOP values for the command_id parameter.
Use CEF_WOD_CURRENT_TAB for the disposition parameter.
KenS
Posts: 28
Joined: Sat Aug 10, 2024 12:44 am
Location: Australia

Re: Upgrading CEF4Delphi

Post by KenS »

salvadordf wrote: Sun Aug 18, 2024 8:41 amTChromiumCore.ExecuteChromeCommand
Found this ok
salvadordf wrote: Sun Aug 18, 2024 8:41 amIDC_FIND, IDC_FIND_NEXT, IDC_FIND_PREVIOUS or IDC_CLOSE_FIND_OR_STOP
Also found this
salvadordf wrote: Sun Aug 18, 2024 8:41 amCEF_WOD_CURRENT_TAB[/b] for the disposition parameter.
This was a bit harder, had to do a search within files ...

But how do I pass the find text ... gave up and just ran it ... oh, it creates its own search box ... neat!

Thanks
Post Reply