Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   GUI-Design mit VCL / FireMonkey / Common Controls (https://www.delphipraxis.net/18-gui-design-mit-vcl-firemonkey-common-controls/)
-   -   Delphi Nutzung MS Edge Chromium in eigener Anwendung (https://www.delphipraxis.net/203113-nutzung-ms-edge-chromium-eigener-anwendung.html)

Bernhard Geyer 15. Jan 2020 09:51

Nutzung MS Edge Chromium in eigener Anwendung
 
Nachdem ja jetzt endgültig die alte Edge-Implementierung entsorgt wird und Edge auf Basis von Chromium auf Windows installiert wird, stellt sich die Frage ob man diese Installation nutzen könnte?

Aktuell nutzen wir CEF4 (https://github.com/salvadordf/CEF4Delphi) und liefern die Chromium-DLLs selbst mit.
Schön wäre wenn wir diesen 220 MB Overhead sparen könnten und die Chromium-Installation von Edge nutzen könnten.

Geht das? Gibt es Infos/Versuche von Leuten die das schon nutzen?

Bernhard Geyer 15. Jan 2020 09:52

AW: Nutzung MS Edge Chromium in eigener Anwendung
 
Das habe ich schon gefunden

https://docs.microsoft.com/en-us/mic...sting/webview2
https://www.nuget.org/packages/Microsoft.Web.WebView2

Der schöne Günther 15. Jan 2020 10:30

AW: Nutzung MS Edge Chromium in eigener Anwendung
 
Was genau ist die Frage, ob jemand schon Delphi-Bindings dafür gemacht hat?

Ich habe vor ein paar Monaten einmal spaßeshalber mal den "alten" Edge in Delphi eingebaut, der hatte aber leider zu viele Sicherheits-Beschränkungen (z.B. lokale Dateien anzeigen war nicht möglich).

TiGü 15. Jan 2020 10:38

AW: Nutzung MS Edge Chromium in eigener Anwendung
 
Was machst du mit den Nutzern mit Windows 7 oder 8.0 und 8.1?
Bekommmen die auch den neuen Edge mit Chromium?

Daniel 15. Jan 2020 10:59

AW: Nutzung MS Edge Chromium in eigener Anwendung
 
Microsoft hat zugesichert, den neuen Browser auch unter Windows 7 für mindestens 18 Monate zu unterstützen. Sie gehen damit konform mit Google, die ihrerseits den klassischen Chome-Browser ebenfalls für diesen Zeitraum für Windows 7 bereithalten wollen.

Bernhard Geyer 15. Jan 2020 13:49

AW: Nutzung MS Edge Chromium in eigener Anwendung
 
Zitat:

Zitat von TiGü (Beitrag 1455188)
Was machst du mit den Nutzern mit Windows 7 oder 8.0 und 8.1?
Bekommmen die auch den neuen Edge mit Chromium?

Fallback Nutzung IE mit TWebbrowser falls Edge Chromium nicht vorhanden/nutzbar ist.

Dennis07 17. Jan 2020 12:03

AW: Nutzung MS Edge Chromium in eigener Anwendung
 
Den alten Edge-Browser konnte man ja nur mit WebView verwenden, wofür es ärgerlicherweise aber keinen (offiziellen) Delphi-Port gab (inoffiziellen soweit ich weiß auch nicht). Bin mal gespannt, wie das mit dem Chromium-Edge gehandhabt wird.
Allerdings wird dieser ja noch einige eigene Features mitbringen. Inwieweit hier die tatsächliche Kompatibilität vorhanden bleibt, ist abzuwarten.
Dennoch, wie ich finde, ein (leider) notwendiger Schritt. Denn obwohl ich wirklich mein bestes gab, um ihn zu mögen, der Edge macht es einem nicht leicht. So viele Features die fehlen, und kaum nutzbare Erweiterungen, die man installieren kann.

Bernhard Geyer 17. Jan 2020 15:27

AW: Nutzung MS Edge Chromium in eigener Anwendung
 
Zitat:

Zitat von Dennis07 (Beitrag 1455413)
Den alten Edge-Browser konnte man ja nur mit WebView verwenden, wofür es ärgerlicherweise aber keinen (offiziellen) Delphi-Port gab (inoffiziellen soweit ich weiß auch nicht).

Das war für uns keine Option. Hat uns eh nie interessiert

Zitat:

Zitat von Dennis07 (Beitrag 1455413)
Bin mal gespannt, wie das mit dem Chromium-Edge gehandhabt wird.

Kommt jetzt darauf an wie stark "verhunzt" MS die Chromium-Integration macht.
Würden sie die "normalen" DLLs und APIs beibehalten, könnnte man versuchen CEF4 ja direkt zu verwenden.

Der schöne Günther 7. Feb 2020 10:47

AW: Nutzung MS Edge Chromium in eigener Anwendung
 
https://www.tmssoftware.com/site/blog.asp?post=621

Zitat:

So, in a nutshell, in an upcoming TMS FNC Core update, expect the new web browser to be included that uses Edge Chromium out of the box.

twein 6. Jun 2020 07:04

AW: Nutzung MS Edge Chromium in eigener Anwendung
 
Hallo,

mir ist auch gerade aufgefallen, dass die Komponente nicht funktioniert. (Mit 10.4).
Zu mindestens nicht mit der regulären Installation von Edge:

Microsoft Edge ist auf dem neuesten Stand.
Version 83.0.478.44 (Offizielles Build) (64-Bit)

Funktioniert tatsächlich nur mit der Entwickler-Version, wie bei Idera beschrieben.
https://community.idera.com/develope...ad-studio-10-4

Lechner Robert 8. Jun 2020 10:31

AW: Nutzung MS Edge Chromium in eigener Anwendung
 
bei Version 83 passiert bei mir überhaupt nichts (funktioniert nicht, aber auch keine Fehlermeldung, usw.)


bei allen Beta/Dev Versionen eine Exception in Vcl.Edge

bei:
// Register a handler for the ProcessFailed event.
FWebView.add_ProcessFailed(

(Zeile 1187)

jemand eine Idee?

TiGü 8. Jun 2020 10:48

AW: Nutzung MS Edge Chromium in eigener Anwendung
 
@Lechner Robert: Erst ab der nächsten Version 84:
https://www.delphipraxis.net/1465490-post42.html

Lechner Robert 8. Jun 2020 10:58

AW: Nutzung MS Edge Chromium in eigener Anwendung
 
Liste der Anhänge anzeigen (Anzahl: 1)
danke
aber die Exception bekomme ich mit 85

Der schöne Günther 8. Jun 2020 11:15

AW: Nutzung MS Edge Chromium in eigener Anwendung
 
Ich habe es grade nochmal mit "Version 85.0.528.0 (Official build) canary (64-bit)" und 85.0.538 probiert. Keine Probleme.

Wüsste jetzt auch nicht wie man prüfen könnte woran das liegt.
Die Doku sagt:
Zitat:

Fires when a WebView process terminated unexpectedly or become unresponsive.
Welche Art von Absturz ist es denn?

BROWSER_PROCESS_EXITED, RENDER_PROCESS_EXITED oder RENDER_PROCESS_UNRESPONSIVE?

Lechner Robert 8. Jun 2020 15:46

AW: Nutzung MS Edge Chromium in eigener Anwendung
 
Liste der Anhänge anzeigen (Anzahl: 1)
Version ist Version 85.0.538.0 (Offizielles Build) canary (32-Bit)
Embarcadero® Delphi 10.4 Version 27.0.37889.9797

Code gibt es keinen,
ist ein leeres Formular, mit den EdgeBrowser drauf
alles 32Bit

es kommen mehre recht allgemeine AccessViolations

Der schöne Günther 8. Jun 2020 20:45

AW: Nutzung MS Edge Chromium in eigener Anwendung
 
Uh, 32 Bit. Wo hast du den denn heruntergeladen? Ich habe auch nur eine Delphi 32-Bit-Anwendung erstellt, aber der Edge war in 64 Bit.

Lechner Robert 9. Jun 2020 06:22

AW: Nutzung MS Edge Chromium in eigener Anwendung
 
Liste der Anhänge anzeigen (Anzahl: 1)
ich hatte vorher natürlich den 64-bit edge
selbe Meldung

jetzt
Version 84.0.522.15 (Offizielles Build) beta (64-Bit)
auf einem 2. Rechner Installiert
(dort ist kein Delphi XE installiert)

Ergebnis ist das selbe

exe im Anhang, falls jemand lust hat das zu testen

Lechner Robert 9. Jun 2020 06:27

AW: Nutzung MS Edge Chromium in eigener Anwendung
 
OK, für die Nachwelt:

die WebView2Loader.dll 0.9.430
ist zu alt...
mit der 0.9.488 funktioniert es jetzt ..

danke an alle

MEissing 9. Jun 2020 07:19

AW: Nutzung MS Edge Chromium in eigener Anwendung
 
Zitat:

Zitat von Lechner Robert (Beitrag 1466810)
die WebView2Loader.dll 0.9.430
ist zu alt...
mit der 0.9.488 funktioniert es jetzt ..

danke an alle

Die 0.9.488 wird ja auch (nicht ohne Grund) über GetIt ausgeliefert....

Lechner Robert 9. Jun 2020 15:07

AW: Nutzung MS Edge Chromium in eigener Anwendung
 
hatte mich an diese Anleitung gehalten (da ich die von Embarcadero nicht gefunden habe)

http://www.delphifeeds.com/go/s/156212

Zitat
The WebView2 control, currently available through NuGet at https://www.nuget.org/packages/Microsoft.Web.WebView2

und dort bekam ich wohl eine "veraltete" erhalten



andere Frage: wie stelle ich am einfachsten fest, dass ein funktionierender Edge installiert ist und
nicht Edge 0.83 installiert ist
(in diesem Fall müsste man ja weiterhin IE verwenden, ..)

twebbrowser scheint das nicht automatisch zu machen?

Rollo62 9. Jun 2020 15:11

AW: Nutzung MS Edge Chromium in eigener Anwendung
 
Zitat:

Zitat von Lechner Robert (Beitrag 1466864)
wie stelle ich am einfachsten fest, dass ein funktionierender Edge installiert ist ...

Wird sich das Thema nicht in Kürze von selbst erledigen, wenn M$ das passende System korrekt eingebaut hat ?
Die Frage wäre doch vielleicht auch: Wann wird es bei Microsoft final sein ?

Der schöne Günther 9. Jun 2020 15:55

AW: Nutzung MS Edge Chromium in eigener Anwendung
 
Ist ja alles noch im Wandel. Final soll die Runtime immer die installierte "stable"-Variante präferenzieren (anders als momentan), und alternativ soll man auch seine eigene Runtime mitliefern können.

https://docs.microsoft.com/en-us/mic...s/distribution


Und doch, der TWebBrowser lässt sich eigentlich einstellen ob er den IE oder Edge nehmen soll:

http://docwiki.embarcadero.com/RADSt...in_TWebBrowser

MEissing 9. Jun 2020 16:27

AW: Nutzung MS Edge Chromium in eigener Anwendung
 
Anleitung von Embarcadero:
http://docwiki.embarcadero.com/RADSt...wser_Component

BobTheBuilder 15. Jun 2020 13:23

AW: Nutzung MS Edge Chromium in eigener Anwendung
 
Zitat:

Zitat von Der schöne Günther (Beitrag 1466868)
Und doch, der TWebBrowser lässt sich eigentlich einstellen ob er den IE oder Edge nehmen soll:

http://docwiki.embarcadero.com/RADSt...in_TWebBrowser

Ich hätte ja gerne, dass man auch einfach den WebView (ohne 2) einstellen kann. Das würde es momentan doch sehr erleichtern, den Edge zu benutzen, der noch nicht auf Chromium basiert aber bei jedem Windows 10 dabei ist.

Ich bin nämlich zu blöde, die Callback Interfaces richtig zu bauen. 🙄

WebView per Interface laden und per Navigate etwas anzusteuern, das lässt er noch mit sich machen.

Der schöne Günther 15. Jun 2020 14:23

AW: Nutzung MS Edge Chromium in eigener Anwendung
 
Ich hatte WebView (ohne 2) mal in Delphi ausprobiert, war für mich aber leider wegen zu vieler Einschränkungen unbrauchbar. Aus "Sicherheitsgründen" konnte das Ding nur Daten aus dem Internet laden, und aus dem lokalen Netz nur nach Registry-Änderungen in HKLM. Lokale Daten von der Platte überhaupt nicht.

Denke nicht dass man sich mit dem Ding wirklich mittelfristig einen Gefallen getan hätte...

Bernhard Geyer 15. Jun 2020 14:53

AW: Nutzung MS Edge Chromium in eigener Anwendung
 
Zitat:

und aus dem lokalen Netz nur nach Registry-Änderungen in HKLM
Welcher Key soll das sein.
Beim IE gabs die gleichen Keys auch unter HKCU

Der schöne Günther 15. Jun 2020 20:19

AW: Nutzung MS Edge Chromium in eigener Anwendung
 
Ich hatte mich zu schwammig ausgedrückt. Intranet ging schon, aber localhost nur wenn die App gepackaged war (.appx / .msix) und man eine Package-ID hatte. Wenn die eigene Anwendung keine Package-ID hat, blieb nur der Weg es dem gesamten Edge-Appcontainer ("
Microsoft.Win32WebViewHost_cw5n1h2txyewy") zu erlauben und dafür brauchte man Admin-Rechte (https://github.com/windows-toolkit/M...n32/issues/128)

BobTheBuilder 17. Jun 2020 09:04

AW: Nutzung MS Edge Chromium in eigener Anwendung
 
Wer sagt denn, dass es mit dem WebView2 anders sein wird?

Wir haben es jedenfalls mit dem WebView so laufen. Eine einfache Delphi Form, die den WebView per Interface läd.

Das mit dem Registrierungsschlüssel macht man ein Mal bei der Installation des Programms für alle Win32 Applikationen. In der "Modern UI" Welt kann man das pro App machen, aber "Win32" scheint für "Modern UI" halt insgesamt eine App zu sein.
Ich sehe wohl jetzt nicht das Problem, dass man dafür Adminrechte braucht. Die brauchen heutzutage eigentlich alle Setups.

Da kann man sich natürlich jetzt streiten, ob das gut ist oder nicht, wenn man da jeder Win32 Applikation den Zugriff auf lokale Webserver gewährt. Aber ganz ernsthaft? Das kann der TWebBrowser auch. Ist also jetzt nicht so, dass man da eine riesige Sicherheitslücke erzeugt.

Der schöne Günther 3. Jul 2020 17:56

AW: Nutzung MS Edge Chromium in eigener Anwendung
 
Liste der Anhänge anzeigen (Anzahl: 1)
Kommt das bei euch eigentlich auch bei der allerersten Verwendung?

Rollo62 4. Jul 2020 10:16

AW: Nutzung MS Edge Chromium in eigener Anwendung
 
Ja, das macht ja auch Sinn.

Der schöne Günther 5. Jul 2020 08:46

AW: Nutzung MS Edge Chromium in eigener Anwendung
 
Du willst nur eine ganz harmlose lokale HTML oder ein MP4-Video anzeigen und der Benutzer bekommt erst einmal so einen kryptischen Systemdialog auf den Bildschirm geknallt, ob du willst oder nicht. Wirklich dolle ist das nicht...

FrankJ28 20. Dez 2020 13:55

AW: Nutzung MS Edge Chromium in eigener Anwendung
 
Hallo in die Runde,
ich habe auch nur den Wunsch der Darstellung eines HTML-Strings (gaaanz einfach, EdgeBrowser1.NavigateToString(myHtml.Text)) und scheitere. Gibt es irgendwo ein einfaches Beispiel, an dem man sich einmal "längshangeln" könnte?
Danke und ciao
Frank

Nachtrag: GetIt läuft auf nen Poller, wenn WebView2Loader.dll (Paket nachladen) gestartet wird. Die olle Version gibt es wohl nicht mehr. Also manuell das Package der Version 1.0.664.37 geladen (letzte stable). Das Packare mit dem GetIt zu installieren gelingt mir nicht, ergo als ZIP umbenannt und die DLL (32Bit) in mein EXE-Verzeichnis kopiert. Die EDGE-Demo meckert nun "cannot find EDGE-Installation". Der installierte EDGE ist Version 87.0.664.66. Schön, dass es in den Tutorials oder Youtube-Videos immer so einfach aussieht.

FrankJ28 5. Jan 2021 12:50

AW: Nutzung MS Edge Chromium in eigener Anwendung
 
Huhu in die Runde,
hat niemand eine Idee, warum mein EDGE nicht gefunden wird?
Danke und ciao

Frank

Der schöne Günther 5. Jan 2021 12:55

AW: Nutzung MS Edge Chromium in eigener Anwendung
 
Es ist schon x mal erwähnt worden dass eine normale Edge-Installation hiermit nichts zu tun hat. Du musst eine Beta-Version von Edge (Canary, Dev oder Beta) oder die Edge Runtime installieren. Oder du lieferst in deiner Anwendung die benötigten Dateien direkt mit.

https://docs.microsoft.com/en-us/mic...s/distribution

FrankJ28 5. Jan 2021 13:10

AW: Nutzung MS Edge Chromium in eigener Anwendung
 
Hallo Günther,
danke für den Hinweis. Diese Info hielt ich bislang für "überholt" und war der Meinung, dass inzwischen auch eine reguläre EDGE-Installation ihren Dienst tut.
siehe auch hier
Ciao
Frank


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