Linux: Probleme mit HTML Viewer

Hallo in die Runde.
Seit langem habe ich in meinem Projekt ein Fenster mit einem HTML-Viewer. Dieses Fenster wird über einen entsprechenden Menüpung aufgerufen und von dort eine URL an den HTML-Viever übergeben. Das klappt seit langem völlig reibungslos unter Mac OS und Windows.

Jetzt meldet sich ein Anwender, dass mein Programm abstürzt, wenn die Funkton aufgerufen wird.

Ich habe das unter Linux nachstellen können. Ein neues Projekt, nur mit HTML-Viever und aufruf der URL funktioniert einwandfrei. In meinem Projekt führt es zu einem Fehler in einer völlig unbeteiligten Routine und das Debugging wird abgebrochen.
Daraufhin habe ich das Fenster in ein neues Projekt kopiert und dort per Menüpunkt auf gleiche Weise aufgerufen. Kein Absturz.
Aufruf über einen Button mit dendeslben Befehlen wir über das Menü führt ebenfalls zum Absturz.
Ich habe das Fenster neu aufgebaut (Ein Label, ein HTMLViewer, 3 PushButtons ein TextField) -> Absturz.
Ich habe vom Nativ-Renderer auf WebKit umgestellt. Keine Änderung.

Der Code zum Aufruf des Fensters sieht so aus:
DownloadAbfrage.actionButton.Enabled=false
DownloadAbfrage.title=UpdateWindowNeueVersionVerfuegbar
DownloadAbfrage.Label1.text=DefineEncoding(UpdateWindowMessage2+" " + App.BuildDate.ShortDate+".",Encodings.UTF8)
if InStr(VersionFamilienbande,“t”)>0 then
DownloadAbfrage.HTMLViewer1.LoadURL “http://www.familienbande-genealogie.de/UpdateTest.html
else
DownloadAbfrage.HTMLViewer1.LoadURL “http://www.familienbande-genealogie.de/UpdateNormal.html
end
DownloadAbfrage.HTMLViewer1.SetFocus

Bei der Zeile mit LoadURL kommt es zum Absturz (bei mir die obere Zeile).
Der HTML-Viever hat keinerlei Events.

Hat noch jemand eine Idee, wonach ich suchen könnte?

Gruß, Stefan Mettenbrink.

32Bits Libraries installed ?

64-Bit Anwendung auf 64-Bit System.
Benötige ich da die 32-Bit Libraries?

Ich kenne die Linux 32-Bit Anwendungen nur von REALstudio (2010r1). Die war bei mir nur mit Mühe zur Mitarbeit zu bewegen. Wobei ich zugeben muss, mich nicht sonderlich mit Linux befasst zu haben.

http://developer.xojo.com/system-requirements

Linux Information:

Linux Mint 18 Mint includes most of the necessary libraries.
(recommended)

This installs the 32-bit WebKit library so HTMLViewer works:
sudo apt-get install libwebkitgtk-1.0:i386

Sorry, very limited Geman here.

Grüße

Warum benötige ich auf einem 64-Bit System für eine 64-Bit Anwendung eine 32-Bit Librarie?
Das erscheint mir unlogisch.
Vor allem nutze ich ein anderes Fenster, in derselben Anwendung, ebenfalls mit einem HTML-Viever. Dort werden Hilfeseiten (HTML-Dateien) angezeigt. Diese sind lokal auf der Festplatte. Da gibt es keine Probleme.

An ein Problem mit fehlender Library mag ich da nicht glauben.

Wie sieht denn ein Absturz in Linux aus? Gibt es so etwas wie Crash Logs? Eine Fehlermeldung?

Nicht 32bit, aber 64bit.
hast du webkit installiert?

Ich habe das mit der compilierten Anwendung noch nicht selbst versucht. Alut Anwender ein kommentarloser Absturz.
Meine Hoffnung war, dass der Debugger die Fehlerstelle anzeigt. Jedoch wurde bei mir im Debugger eine Routine angezeigt, die damit überhaupt nichts zu tun hat und dort zeigte der Debugger auf eine Stelle hinter “Exception err”. Da wird bei mir üblicherweise nur der Name der Routine an eine Funktion zur Ausgabe der Fehlermeldung weitergegeben.
Das wird für zwei Sekunden angezeigt, dann beendet sich die App, der Fehler wird nicht mehr angezeigt, das Debugging ist beendet.

Wo würde ich unter Linux Crash Logs finden?

[quote]Nicht 32bit, aber 64bit.
hast du webkit installiert?[/quote]

Gute Frage!
Ich habe bislang nicht daran gedacht, webkit installieren zu müssen. Allerdings trat das Problem auch mit dem Native Viewer auf.

Da muss ich am Wochenende mal gezielt nachsehen und ggf. installieren.
Kann man irgendwie per App das Vorhandensein von Webkit abfragen? Wäre doch wesentlich geschickter, wenn man den Anwender auf fehlendes Webkit hinweisen oder von Webkit auf Native umstellen könnte (geht letzteres im Betrieb überhaupt?).

Warum benötige ich auf einem 64-Bit System für eine 64-Bit Anwendung eine 32-Bit Librarie?
Sie haben es nicht in Ihrer ursprünglichen Nachricht angeben, ob Sie eine Zusammenstellung von 32 oder 64 Bit verwenden. Ich dachte, 32-bit (wie ich). Entschuldigung.

Haben Sie die Seite lesen http://developer.xojo.com/system-requirements (Linux Abschnitt) ?

Ja, das habe ich gelesen. Ich habe hier Ubuntu 64-Bit installiert.

Inzwischen habe ich diese Zeile hinzugefügt:
if HTMLViewer1.IsAvailable then

Damit schmiert mein Programm zwar nicht ab, zeigt aber auch nichts an.
Getestet mit dem Native Renderer.

Wieso ist der HTMLViewer nicht verfügbar?

Gruß, Stefan Mettenbrink.

Ich weiß nicht. Ich dachte, es wegen 32 / 64Bits war.

Ich komme nicht voran.
Da ein neues Projekt mit einem HTML-Viewer funktioniert (Native Renderer und WebKit) sollte es kein Problem fehlender Libraries sein.
Inzwischen scheint es tatschlich so zu sein, dass kein HTML-Viewer in dem Projekt (es gibt dort vier) funktioniert. Wenn ich IsAvailable zur vorherigen Abfrage nutze, kann ich zwar den Absturz verhindern, bekomme dann natrlich auch nichts angezeigt.

Problehalber habe ich mal die Routine, die im Debugger kurz als Fehlerstelle anzeigt, rausgeworfen. Hat geholfen, es wird kein Fehler mehr angezeigt. :frowning:

Ich bin weiterhin ratlos, wo ich noch suchen soll und was ich noch versuchen kann um das Problem einzugrenzen.

BTW: Warum dauert der Debuglauf unter Ubuntu auf einem Core i5 7Minuten, wrend dasselbe Projekt auf meinem iMac Core 2 Duo in 30 Sekunden startet? Unter Linux macht die Entwicklung (und Fehlersuche) so keinen Spa :frowning:

Sieht so aus, als htte ich mir ein Problem aus REALstudio mitgeschleppt.
Nachdem ich mit dem HTMLViewer nicht weiter kam habe ich mich einem anderem Problem gewidmet. In den Einstellungen gibt es ein TabPanel innerhalb eines PagePanels. Ersteres lie sich unter Linux nicht bedienen.
Nach diversen Versuchen und Neuaufbau des Dialoges, hatte ich den Schuldigen vermeintlich gefunden. Hinter allen Elementen lag noch ein Canvas.
Also alles neu aufgebaut. Ohne Canvas.

Jetzt rufe ich de Einstellungen auf, die Anwendung beendet sich, ich sehe in Xojo kurz dieselbe Routine, die mir auch bei dem HTML-Viever kurz angezeigt wird und der Debuglauf ist beendet.

Da ich vermute, dass hier irgendwas schon grundlegend im Argen ist, hilft hier vermutlich keine Fehlersuche. Zumal ich keinen Ansatz habe.
Hilft es, die ganzen Fenster, Methoden, Properties, Bilder, etc. aus dem alten Projekt in ein neues zu kopieren?

Gru, Stefan Mettenbrink.

Rückmeldung von einem anderem Anwender. Er nutzt Mint 18.2 auf seinem Rechner. Bei ihm kommt es nicht zu Problemen. Dort funktioniert der HTML-Viewer.
Finde ich komisch.

Gruß, Stefan Mettenbrink.

Lösung gefunden.
Unter Linux funktioniert der HTMLViewer nicht in der 64-Bit Version. :frowning:
Compiliere ich die 32-Bit Version, ist alles OK.

Ist das bekannt?
Gibt es einen Workarround?

Gruß, Stefan Mettenbrink.

http://developer.xojo.com/system-requirements

64-bit Configuration

For best results, create 64-bit Xojo apps for distribution on 64-bit Linux systems. If you have to distribute a 32-bit Xojo app on a Linux distribution, you need to ensure that the 32-bit libraries are installed. They are not usually installed by default, so you’ll have to install them manually. Below are commands you can use to install necessary libraries for some common Linux distributions:

Linux Mint 18

(recommended)

Mint includes most of the necessary libraries.

This installs the 32-bit WebKit library so HTMLViewer works:
sudo apt-get install libwebkitgtk-1.0:i386

OK, das hatte ich auch gelesen.
Das sagt aber nichst über ein 64-Bit WebKit. Auch finde ich darin keinen Hinweis, dass der HTMLViewer unter 64-Bit nicht funktioniert oder auf 64-Bit Systemen die 32-Bit WebKit Libtrarie installiert sein muss.

Auf meinem 64-Bit Ubuntu gibt es ein 32-Bit WebKit. Sonst würde der HTMLViewer in der 32-Bit Anwendung ja nicht funktionieren.

Hat jemand ein 64-Bit Liunux, bei dem der HTMLViewer in 64-Bit Anwendungen funktioniert?
Dann müsste ich nach erforderlichen Libs suchen.
Wenn jemand die Information hat, dass der HTMLViewer von Xojo ohnehin nicht in 64-Bit Anwendungen funktioniert, dann würde mich das auch interessieren (insbesondere ein Workarround).

Gruß, Stefan Mettenbrink.

Mir ist noch etwas unter Linux aufgefallen. In der 64-Bit Version wird das Menü am oberen Bidschirmrand anzeigt (wie bei Mac OS), bei der 32-Bit Version hingegen wird das Menü am oberen Fensterrand angezeigt (wie bei Windows).
Hast jemand eine Idee, warum das so ist? Ist das eher eine Einstellung von Linux oder von Xojo?

Google Translate Xojo (German) --> realbasic (French) !!!

Viel Spa mit Google Translate !

Ich herunterladen und installieren Xojo IDE Mint 18.2…

Ich Linux-Anwendung kompiliert, die mir das Internet können surfen, in VirtualBox kopiert -> Minth 18.2.

Ich startete und es funktioniert!

Ich komme nur zu diesem Forum (von Mint) ohne Probleme.

Nun weiß ich nicht, wenn der Htmlviewer auf 1 läuft, 32, 64, was…