Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Programmieren allgemein (https://www.delphipraxis.net/40-programmieren-allgemein/)
-   -   TWebbrowser - Komisches verhalten auf einem Rechner (https://www.delphipraxis.net/213575-twebbrowser-komisches-verhalten-auf-einem-rechner.html)

Metschu 20. Aug 2023 11:13

TWebbrowser - Komisches verhalten auf einem Rechner
 
Hallo zusammen,

ich benutze den tWebbrowser, um ein Formular aufzurufen, dies auszufüllen und abzuschicken. Das Ergebnis wird über den Quelltext ausgewertet.
Das klappte auch Problemlos.
Ein Rechner macht hier nun folgende Probleme:

* es wird nicht auf das fertige laden der Webseite gewartet, die Webseite wird aber aufgerufen.
Folgender CodeTeil wird ohne Warten übersprungen:
Delphi-Quellcode:
   while WebBrowser.ReadyState <> READYSTATE_COMPLETE do
    Application.ProcessMessages;
-> Testweise ein "MessageDLG" eingefügt zum manuellen warten, bis geladen ist (plus 60 Sekunden Wartezeit von mir), hier aber auch folgenden Fehler:

* Fehlermeldung (Exception) beim senden der Daten an tWebBrowser
Delphi-Quellcode:
WebBrowser.OleObject.Document.getElementById('XXX').value := String(Daten);


* Direkt beim Starten meiner Software wird nur an diesem Rechner ein Ordner erstellt "Software.Exe.WebView2" mit diversen Unterordnern.

Diesen Fehler habe ich nur bei einem Rechner, andere nicht.
Alle haben das gleiche Betriebssystem und Updates.

Hat hier jemand eine Idee?

Danke und Gruß

Torsten

Olli73 20. Aug 2023 11:33

AW: TWebbrowser - Komisches verhalten auf einem Rechner
 
Kann es sein, dass der eine Rechner den Edge Browser (Webview 2) verwendet und die anderen den Internet Explorer?

Ruf Mal im Webview "https://www.whatismybrowser.com/" oder Ähnliches auf.

Metschu 20. Aug 2023 12:02

AW: TWebbrowser - Komisches verhalten auf einem Rechner
 
Hallo Olli,

danke für den Tipp. Endgültig kann ich das morgen erst testen.

Der TWebBrowser war auf "IfEdge" eingestellt. Wenn ich das hier an 2 Rechnern teste mit deinem Link, habe ich als Ergebnis IE11.
Stelle ich auf "EdgeOnly" um wird hier keine Seite geladen.

Habe mal 3 Verschiedene Versionen mit allen drei Einstellungen (IfEdge, IEOnly und EdgeOnly) erstellt und werde diese morgen an dem beanstandetem Rechner testen.
Dann muss die Einstellung wohl "IEOnly" lauten.
Wenn es so ist, verwunderlich das es 2 Wochen Funktioniert hat.

Gruß

Torsten

paule32.jk 20. Aug 2023 15:08

AW: TWebbrowser - Komisches verhalten auf einem Rechner
 
das Problem hatte ich auch - war aber auch im Kontext mit CHM Projekten und das
verwenden von JavaScript code in den Quellen von der CHM Datei.

Microsoft bietet ein Update auf WebView2 an.
Das kann als einzelnes Updaten von der MSDN gesaugt werden.

Der Microsoft Help Workshop ist schon etwas älter.
Kannst Dich ja mal auf:
www.helpndoc.com

umsehen.
Da kann man für die freie Verwendung bzw. zum testen eine kostenlose Version saugen.
Für anspruchsvolle Aufgaben im Help-Authoring Bereich.
Falls Deine Projekte nicht kommerzieller Art sind.

Es werden aber in der freien Version dezente Banner am Ende des Dokuments angezeigt.
Aber ich finde, das dies ein guter Deal in Richtung "Freie Verwendung" ist.

Ich selbst bin Kunde von diesen Produkt, und habe mir die Standard Version gekauft,
da ich die Banner nicht haben wollte, und die Std. Version für meine Zwecke gut und
gerne ausreichend ist.

Man kann dann auch automatische Dokumentationen erstellen.
Mit einer Pascal-Skript Engine kann die Hilfe-Dokumentation um einges verändert und
angepaßt werden.

Der Preis dafür belauft sich auf 200 bis 400 Euro - musst mal schauen, was die neuen
gültigen Preise sind.

Gibts auch für Teams, und als Server Platform.

Metschu 21. Aug 2023 19:09

AW: TWebbrowser - Komisches verhalten auf einem Rechner
 
Also das Problem lag wirklich darin, das der eine Rechner auf einmal im "Edge Modus" gearbeitet hatte.

Wenn es auf "IEOnly" steht, ist der Fehler nicht mehr vorhanden.

Danke für den Tipp :-D

blawen 21. Aug 2023 22:27

AW: TWebbrowser - Komisches verhalten auf einem Rechner
 
Vermutlich wird Dir die WebView2Loader.dll fehlen. Im Prinzip reicht es, diese in das gleiche Verzeichnis wie die .exe zu kopieren.

Genaueres findest Du hier: TEdgeBrowser-Komponente_und_Änderungen_der_TWebBrowser-Komponente


Alle Zeitangaben in WEZ +1. Es ist jetzt 13:13 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