Zuerst dachte ich, dass es kein Problem sein würde, einen Browser Wrapper zu finden, der einen Webbrowser in einer Lazarus Form darstellt.
Ok, bis dahin war ich noch frohen Mutes und fand fpCEF und CEF4DELPHI.
fpCEF:
ist immerhin im Lazarus WIKI beschrieben https://wiki.lazarus.freepascal.org/fpCEF3
aber doch sehr angestaubt mit letztem Build vom 24.05.2018 und CEF Build 3.3029 (3.3071 geht auch noch) also Chromium um die Version 59 herum. (derzeit 84 ...)
Ich habe die Komponente fpCEF unter Lazarus 2.0.8 fpc 3.0.4 (die Version wird nachher noch wichtig, also merken)installiert.
Die entsprechende CEF Version von hier http://opensource.spotify.com/cefbuilds ... s32_builds herunter geladen und das erste Mal realisiert, dass es CEF Build in 3.3.029 für WIN32, WIN64, LIN32, LIN64 gibt, nicht aber für ARM32 und ARM64.
Da ich ein Projekt habe, welches ich für WIN32, WIN64 und ARM32 compiliere, kamen hier erste Bedenken auf. (Also an mir lag es nicht, ich bin mit positiver Grundstimmung an das Problem gegangen!

Nun gut, Sample compiliert nachdem die CEF Dateien ins Projekt kopiert waren und läuft unter WIN64.
Auf einer VM mit Debian10 Buster 64Bit compiliert mit entsprechenden CEF LIB Dateien ausgerüstet und läuft auch.
Jetzt war ich ja fast glücklich. Ein Chromium auf WIN und Linux 32/64 aber eben in Uraltversion. Ich bin mir nicht sicher, welche Sicherheitslücken sich da verstecken... aber ok

Blieb das Problem mit ARM und der fehlennden Library CEF in Version 3.3029.
Ich habe mich dazu im CEF-Forum angemeldet und mal leise nachgefragt.
https://www.magpcss.org/ceforum/
Ok, geht nicht; wenn überhaupt ab Version 3.3071
Ab jetzt wird es abenteuerlich:
Ich habe mir die Scripte zum Crosscompilieren von CEF auf einer Linux Maschine hin zu ARM mühsam zusammen gesucht und heruntergeladen. Bin ja kein Profi im CEF zusammenbauen... den ganzen Kram muss man auch erst mal verstehen...
Nachdem die Scripte etwa 3 Stunden gelaufen sind und fleißig Output im Shell-Fenster erzeugt haben, kam natürlich der finale Error und.... nix. Ich habe tonnenweise Daten auf der Platte gesammelt und Kram installiert, den ich kaum verstanden habe aber irgendwie hat immer etwas nicht gestimmt. (sagen wir mal: Ich war stets bemüht

Ich habe es auf jeden Fall nicht geschafft die CEF in der gewünschten Version zu "builden". Mit den Fehlerausgaben war ich aber nicht alleine; im Netz habe ich haufenweise ähnliche Probleme gelesen.
Langer Rede kurzer Sinn: keine CEF Lib für ARM in der "alten" Version verfügbar. Außerdem denke ich: Wenn es bisher kein Profi kompiliert hat, dann geht es vielleicht gar nicht. Projekt eingestellt.
fpCEF habe ich auch auf den RASPI-4 eingespielt und dort per fpcupdeluxe gleich Lazarus 2.0.10 fpc 3.20 draufgespielt.
Dort wollte ich dann wenigstens mal versuchen die Komponente zu installieren. Ging aber nicht. Fehler, dass Bereichsgrenzen verletzt werden. fpCEF ist nur bis fpc 2.0.6 (~) verwendbar, ansonsten muss einiges geändert werden.
Bis hierher war ich schon ein wenig gefrustet...
CEF4DELPHI:
Das nächste Projekt zur Verwendung von Chromium in eigenen Projekten hört sich schon mal gut an auf der Git Seite.
https://github.com/salvadordf/CEF4Delphi
Für Delphi und Lazarus. Für Win und Linux. Klingt gut.
Also Projekt geladen, Komponente in Lazarus 2.0.8 auf WIN64 installiert -> geht nicht. Steht auch im CEF4DELPHI Projekt "ab Version laz 2.0.10 fpc 3.20" wer lesen kann....
Also auf dem WIN10 64 Rechner gleich noch fpcupdeluxe angeworfen und Laz2.0.10 fpc3.20 installiert.
danach hat sich die Komponente installieren lassen.
CEF in Version 84.2.1 (absolut aktuell!) geladen und Sample Projekt compiliert -> 1a läuft unter Windows.
Das Projekt schnell auf den Debian10/64Bit Rechner gespielt mit entsprechender CEF Lib.
Ab hier war ich dann schon sehr gefrustet. Lief nicht und hat alle möglichen und unmöglichen Fehler geworfen.
X Lib Thread ist nicht gestartet, X lib kann dies nicht, X Lib kann das nicht... ums *#&%§$" nicht gelaufen.
Die weiteren Erfahrungen unter ARM erspare ich mir jetzt zu berichten, bevor du auch noch gefrustet bist...

auf jeden Fall kam dabei auch nichts vernünftiges bei raus.
Geckoport
https://wiki.freepascal.org/GeckoPort_version2
Tja, sehr speziell... es gibt zwar ein Wiki aber ich habe es schon nicht geschafft, die Komponenten zu installieren. Er verlangt nach einer Unit "lazmkunit"... ich finde die nicht; andere wohl auch nicht. Es wird verschiedentlich im Netz angezweifelt, dass jemals jemand Geckoport-2 installiert bekam.
Selbst hier wird gleich Geckoport-1 installiert und es gar nicht erst versucht http://lazplanet.blogspot.com/2013/10/b ... o-pt1.html
...und dann wäre da noch die Version Gecko 9, 10, 11 wobei in der Beschreibung steht, dass 10 und 11 eh nicht funktioniert.
Man benötigt dann noch den XulRunner in einer unterirdischen Version und zudem, weil es noch nicht reicht

Fazit:
ich habe keinen "multimedia" tauglichen Browser gefunden, der mit annehmbar aktuellem Browser auf i386, X86_64 WIN/LIN und ARM laufen würde. (also natürlich eine Browser API, welche den in Lazarus einbindet)
Die Probleme, welche sich da auftun in Bezug auf einen Build für CEF und einer "uralt Version" von Chromium, sind erheblich und übersteigen meine Fähigkeiten.
Anpassungen in fpCEF schätze ich ebenfalls als erheblich ein. Das Projekt liegt mehr oder weniger brach.
CEF4DELPHI ist aktuell, wenn es um Lazarus und Windows geht! Kann ich empfehlen.
Das Projekt CEF4DELPHI steht noch relativ am Anfang in Bezug auf Lazarus und Linux. Crosscompilen außerhalb der Windows-Welt ist (noch) nicht angesagt.
Zur Überschrift: Gefunden habe ich nicht wirklich etwas.
Wobei ich noch loswerden möchte: Ich ziehe meinen Hut vor der Leistung, welche in den beiden Projekten fpCEF und CEF4DELPHI steckt! Beides unheimlich umfangreiche Teile....
Hier nochmal in Tabellenform, was geht und was nicht...
Code: Alles auswählen
Windows Linux Arm
i386 x86_64 i386 x86_64 32 Bit
fpCEF CEF 3.0.29
LAZ 2.0.8 fpc 3.0.6 X X X X O
LAZ 2.0.10 fpc 3.20 O O O O O
CEF4DELPHI CEF 84.2.1
LAZ 2.0.8 fpc 3.0.6 O O O O O
LAZ 2.0.10 fpc 3.20 X X O O O
Geckoport2 O O O O O
X - geht O - geht nicht
