Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Netzwerke (https://www.delphipraxis.net/14-netzwerke/)
-   -   Delphi Chromium Embedded crasht bei Wikipedia (https://www.delphipraxis.net/185915-chromium-embedded-crasht-bei-wikipedia.html)

Caps 17. Jul 2015 11:25

Chromium Embedded crasht bei Wikipedia
 
Liste der Anhänge anzeigen (Anzahl: 4)
Bitte entschuldigt des reißerischen Titel ;-).

Wir suchen mittelfristig eine Ablösung des IE-ActiveX, um eine Browserkomponente in unserer Anwendung benutzen zu können, die sowohl weiterentwickelt wird als auch kompatibel und stabil ist. Eine Alternative, die ich ins Auge gefasst habe, ist der CEF3 (Chromium embedded framework). Dazu habe ich mir die entspr. Packages geladen und die Komponente in meinem Delphi installiert.

Grundlegende Informationen
Download-Ort der Komponente: https://github.com/hgourvest/dcef3 // die aktuelle Version ist die gleiche, die ich habe
Delphi-Version: Delphi 2007 für Win32
Betriebssystem: Windows 7, alternativ Windows XP, alternativ Windows 10

Erstes Problem
Die Beispielprojekte im heruntergeladenen Verzeichnis \demos lassen sich nicht im D2007 öffnen. Ohne einen blassen Schimmer davon zu haben vermute ich, dass die Projekte nicht für D2007 gemacht sind, und sich daher auch nicht öffnen lassen. Die entsprechenden Fehlermeldungen kann man in den angehängten Dateien Fehler beim Laden.txt und Fehler2 beim Laden.txt nachlesen. Die beiden Meldungen erscheinen direkt nacheinander.

Zweites Problem
Aufgrund des ersten Problems habe ich ein eigenes Testprojekt erstellt, welches sehr simpel ist, und im Grunde nur zum Laden einer Webseite dient.
Ich habe ein Testverzeichnis angelegt, was nicht mit dem Projektverzeichnis identisch ist, und die notwendigen Dateien dort hineinkopiert, um den Browser zu testen.
Der Fehler tritt aber ebenfalls im Projektverzeichnis auf.


Das Testverzeichnis sieht folgendermaßen aus:
Code:
 ...\CEFTest

17.07.2015  10:41    <DIR>         .
17.07.2015  10:41    <DIR>         ..
21.05.2015  12:23         1.894.102 cef.pak
21.05.2015  12:23           392.015 cef_100_percent.pak
21.05.2015  12:23           544.454 cef_200_percent.pak
16.07.2015  10:11           530.432 Chromium3Test.exe
21.05.2015  12:23         2.106.216 d3dcompiler_43.dll
21.05.2015  12:23         3.466.856 d3dcompiler_47.dll
21.05.2015  12:23         5.066.068 devtools_resources.pak
17.07.2015  10:41                 0 dir.txt
21.05.2015  12:23           985.088 ffmpegsumo.dll
21.05.2015  12:23        10.490.576 icudtl.dat
21.05.2015  12:23        40.556.032 libcef.dll
21.05.2015  12:23           212.992 libEGL.dll
21.05.2015  12:23         1.359.360 libGLESv2.dll
17.07.2015  10:37    <DIR>         locales
21.05.2015  12:23         9.301.504 pdf.dll
21.05.2015  12:23            67.072 wow_helper.exe
              15 Datei(en)    76.972.767 Bytes
               3 Verzeichnis(se), 142.872.731.648 Bytes frei

 ...\CEFTest\locales

17.07.2015  10:37    <DIR>         .
17.07.2015  10:37    <DIR>         ..
21.05.2015  12:23            19.751 am.pak
21.05.2015  12:23            21.820 ar.pak
21.05.2015  12:23            23.049 bg.pak
21.05.2015  12:23            28.572 bn.pak
21.05.2015  12:23            15.153 ca.pak
21.05.2015  12:23            14.357 cs.pak
21.05.2015  12:23            13.185 da.pak
21.05.2015  12:23            14.556 de.pak
21.05.2015  12:23            24.725 el.pak
21.05.2015  12:23            12.311 en-GB.pak
21.05.2015  12:23            12.316 en-US.pak
21.05.2015  12:23            14.745 es-419.pak
21.05.2015  12:23            15.266 es.pak
21.05.2015  12:23            13.316 et.pak
21.05.2015  12:23            19.089 fa.pak
21.05.2015  12:23            14.260 fi.pak
21.05.2015  12:23            15.078 fil.pak
21.05.2015  12:23            15.551 fr.pak
21.05.2015  12:23            26.607 gu.pak
21.05.2015  12:23            16.408 he.pak
21.05.2015  12:23            26.919 hi.pak
21.05.2015  12:23            14.252 hr.pak
21.05.2015  12:23            14.958 hu.pak
21.05.2015  12:23            13.240 id.pak
21.05.2015  12:23            14.140 it.pak
21.05.2015  12:23            16.619 ja.pak
21.05.2015  12:23            30.509 kn.pak
21.05.2015  12:23            14.309 ko.pak
21.05.2015  12:23            14.802 lt.pak
21.05.2015  12:23            15.152 lv.pak
21.05.2015  12:23            34.964 ml.pak
21.05.2015  12:23            26.803 mr.pak
21.05.2015  12:23            13.344 ms.pak
21.05.2015  12:23            13.525 nb.pak
21.05.2015  12:23            13.923 nl.pak
21.05.2015  12:23            14.446 pl.pak
21.05.2015  12:23            14.236 pt-BR.pak
21.05.2015  12:23            14.335 pt-PT.pak
21.05.2015  12:23            15.237 ro.pak
21.05.2015  12:23            21.553 ru.pak
21.05.2015  12:23            14.993 sk.pak
21.05.2015  12:23            13.688 sl.pak
21.05.2015  12:23            21.226 sr.pak
21.05.2015  12:23            13.223 sv.pak
21.05.2015  12:23            13.657 sw.pak
21.05.2015  12:23            32.838 ta.pak
21.05.2015  12:23            30.946 te.pak
21.05.2015  12:23            27.177 th.pak
21.05.2015  12:23            13.704 tr.pak
21.05.2015  12:23            22.829 uk.pak
21.05.2015  12:23            15.828 vi.pak
21.05.2015  12:23            12.055 zh-CN.pak
21.05.2015  12:23            12.228 zh-TW.pak
              53 Datei(en)       951.773 Bytes
               2 Verzeichnis(se), 142.873.649.152 Bytes frei
Die Main.pas sieht folgendermaßen aus:
Delphi-Quellcode:
unit Main;

interface

uses
  Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
  Dialogs, StdCtrls, cefvcl, ceflib;

type
  TForm1 = class(TForm)
    Chromium1: TChromium;
    Edit1: TEdit;
    Button1: TButton;
    procedure Button1Click(Sender: TObject);
    procedure Edit1KeyPress(Sender: TObject; var Key: Char);
  private
    { Private-Deklarationen }
  public
    { Public-Deklarationen }
  end;

var
  Form1: TForm1;

implementation

{$R *.dfm}

procedure TForm1.Button1Click(Sender: TObject);
begin
  Chromium1.Load(Edit1.Text);
end;

procedure TForm1.Edit1KeyPress(Sender: TObject; var Key: Char);
begin
  if Key = #13 then Button1Click(Edit1);
end;

end.
Extrem simpel, alles in allem ;-).

Beschreibung der Symptomatik:

Ich kann nach dem Start der Anwendung problemlos einige Seiten öffnen, z.B. www.google.com. Andere Seiten verursachen jedoch einen Absturz des Programms, z.B. de.wikipedia.org. Auch ein sofortiges Navigieren zu Wikipedia bringt die Mühle zum Absturz.

- In der IDE ausgeführt erhalte ich nach dem Crash die Informationen, die in den angehängten Dateien Debugger-Fehler.jpg und CPU-Fenster.jpg zu sehen sind. Leider kann ich mit diesen Informationen nicht allzuviel anfangen :o.
- Unter Windows 7 erhalte ich die Meldung "Chromium3Test.exe funktioniert nicht mehr.", was sehr hilfreich ist.
- Unter Windows XP bekomme ich ein sehr umfangreiches Textfile mit ähnlichen Angaben wie im CPU-Fenster zu sehen sind.
- Unter Windows 10 erhalte ich die gleiche Kindergartenmeldung wie unter Windows 7.

Meine Frage ist nun:

Kann das jemand nachvollziehen?
Kennt jemand eine Lösung?

Besten Dank im Voraus!
Caps

Bernhard Geyer 17. Jul 2015 12:05

AW: Chromium Embedded crasht bei Wikipedia
 
Hast du auch zugriff auf aktuellere Delphi-Version. Hab schon an manchen Stellen gemerkt das z.B. unser D6 fehler produziert bie verwendung von Externen Ressourcen (JNI, TWebBrowser) die bei neueren Delphi-Versionen nicht mehr vorhanden sind.

Caps 17. Jul 2015 12:16

AW: Chromium Embedded crasht bei Wikipedia
 
Nein, leider habe ich (momentan) keinen Zugriff auf eine neuere Delphi-Version als D2007.
Man müsste allerdings abwarten, ob sich das Problem i.d. aktuellen Konfiguration als unlösbar herausstellt... ;-).

Vorher wäre ich dennoch dankbar für alle Arten von Vorschlägen, Ideen, Anmerkungen etc.

lg Caps

Caps 20. Jul 2015 09:11

AW: Chromium Embedded crasht bei Wikipedia
 
Ich möchte die Frage gern nochmal pushen, im Falle jemand möchte das Problem nachvollziehen (:lol:) oder hat ein solches Problem schonmal gehabt (und ggf. gelöst).

lg Caps

Rollo62 20. Jul 2015 19:54

AW: Chromium Embedded crasht bei Wikipedia
 
Hallo Caps,

ich hatte auch schon mit dem CEF3 herumgespielt.
Aber das war glaube ich mit >= XE6.
Ich denke auch das Delphi2007 eher chancenlos ist, wg. Unicode und zig anderer Umstellungen in XE...

Wo hast du die CEF3 DLLs herbekommen, die im Paket drin waren hatten glaube ich paar Probleme.
Vielleicht mal versuchen aktuellere, andere DLLs des CEF3 Projektes zu bekommen.
Es werden auch eine ganze Reihe von Libraries, Locales, etc. benötigt.
Das könnte der Grund für Abstürze sein.
Ansonsten hatte ich mit den Seiten wenig Probleme, Abstürze eigentlich gar nicht,
nur Flash ist wohl nicht einfach einzubinden.
Das war so alles in meinem Win32 Folder:
locales\
cef.pak
cefclient.drc
cefclient.exe
d3dcompiler_43.dll
d3dcompiler_46.dll
d3dx9_43.dll
devtools_resources.pak
ffmpegsumo.dll
icudt.dll
libcef.dll
libEGL.dll
libGLESv2.dll

Sowohl Win32 als auch Win64 funktionierten gut bei mir, aber ich denke ich habe jetzt einige Chromium-Versionen ausgesetzt, muss mich mal Beizeiten mit der aktuellen Version beschäftigen.


Bei mir hat alles sehr gut funktioniert, unter VCL, die FMX Komponente war nicht gepflegt und die habe ich nicht ans Laufen bekommen, vielleicht gibt es da ja jetzt ein Update.
Denke aber das ist generell möglich, denn die CEF3 Bibliothek sollte sich gut portieren lassen.

Auch bidirektionale Kommunikation mit JavaScript ist möglich, aber da muss man noch etas selber Hand anlegen.

Rollo

greenmile 21. Jul 2015 09:06

AW: Chromium Embedded crasht bei Wikipedia
 
Bei mir lief es mit XE3, mit XE8 crasht es dauernd und ich habe es aufgegeben. Ist noch zu unausgereift.

Caps 21. Jul 2015 10:13

AW: Chromium Embedded crasht bei Wikipedia
 
Danke für die weiteren Antworten!

@Rollo: Im ersten Post habe ich die Quelle der DLLs angegeben. Es handelt sich um die Projekthomepage, soweit ich sehe, d.h. ich denke, dass dort immer die aktuellsten Dateien zu finden sind.
Mein Ordner sieht im Grunde (bis auf die DX9-DLL (DirectX?)) genau so aus wie bei Dir.

Hm, das sind ja keine so guten Nachrichten in Bezug auf Browser-Plugins...

lg Caps


Alle Zeitangaben in WEZ +1. Es ist jetzt 08:53 Uhr.

Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz