![]() |
Probleme beim Einbinden des TEdgeBrowsers
Welcher Canary Build?
|
AW: Delphi "Sydney" (10.4) ist da!
Liste der Anhänge anzeigen (Anzahl: 3)
Guten Abend, MEissing
Von ![]() Anhang 52589 Anhang 52590 Die DLLs liegen da: Anhang 52591 Gruss Delbor |
AW: Delphi "Sydney" (10.4) ist da!
Zitat:
Du kannst die passende DLL (32-Bit/64-Bit) neben deine Exe in das gleiche Verzeichnis packen. |
AW: Delphi "Sydney" (10.4) ist da!
Hi jaenicke
Zitat:
Dementsprechend liegt die DLL im Verzeichnis der Exe. Geändert hat dies jedoch nichts. Gruss Delbor |
AW: Delphi "Sydney" (10.4) ist da!
Wie sieht an der Stelle des Fehlers denn der Stacktrace aus? Dem Quelltext nach kommt die Exception aus TCustomEdgeBrowser. CreateCoreWebView2ControllerCompleted, oder? Die verschiedenen Ergebniswerte (AResult, ...) wären interessant.
In der Unit Vcl.Edge wird z.B. in der Funktion CheckWebView2Loaded die WebView2Loader.dll geladen und die Prozedurpointer initialisiert. Klappt das? (Ich vermute ja, da es sonst bis zur oben genannten Methode nicht kommen würde.) |
AW: Delphi "Sydney" (10.4) ist da!
Hi jaenicke
Aus der Demo, in der ich zusätzlich die Datei VCL.Edge.pas geöffnet habe (die sich aber nicht im Ordner source/vcl/ befindet, sondern in source/internet) :
Delphi-Quellcode:
Schliesslich habe ich nach unten angegebenen Begriff auf C: und F: gesucht:
function CreateCoreWebView2EnvironmentWithOptions(
BrowserExecutableFolder, UserDataFolder: LPCWSTR; const EnvironmentOptions: ICoreWebView2EnvironmentOptions; const Environment_created_handler: ICoreWebView2CreateCoreWebView2EnvironmentCompletedHandler): HRESULT; stdcall; begin // CheckWebView2Loaded <== Die Funktion aus deinem Thread if CheckWebView2Loaded then // Der Boolean scheint keine Boolean-Funktion zu sein. Zumindest gibts hier(VCL.Edge.pas) keine solche Result := _CreateCoreWebView2EnvironmentWithOptions( BrowserExecutableFolder, UserDataFolder, EnvironmentOptions, Environment_created_handler) else Result := E_FAIL; end; Zitat:
Delbor |
AW: Delphi "Sydney" (10.4) ist da!
Zitat:
Zitat:
|
AW: Delphi "Sydney" (10.4) ist da!
Liste der Anhänge anzeigen (Anzahl: 1)
Hi jaenicke
Ich hab da mal einen Screenshot gemacht: Anhang 52597 Die DLL wird also nicht geladen. Dabei habe ich erst die eine und dann die andere dahin kopiert. Ich gehe jedoch davon aus, dass unter win10 64 auch die entsprechende DLL geladen werden sollte. Gruss Delbor |
AW: Delphi "Sydney" (10.4) ist da!
Hi zusammen
Zitat:
Zitat:
Delbor |
AW: Delphi "Sydney" (10.4) ist da!
Die DLLs heißen ja beide gleich. Hier müssen Zielplattformen in der IDE mit der passenden DLL übereinstimmen. Wenn die DLL nicht geladen werden kann ist das zu 90+% ein Problem der Bittigkeit...
Die Canary Build sieht man dann im Edge selber (Hilfe | Ûber). Der Edge/Canary ist natürlich installiert und wurde auch schon mal gestartet? |
AW: Delphi "Sydney" (10.4) ist da!
Liste der Anhänge anzeigen (Anzahl: 1)
|
AW: Delphi "Sydney" (10.4) ist da!
Zitat:
Das liegt daran, dass man ohne etwas dreckige Umwege keine DLL laden kann, die für eine andere Plattform ist. Geh doch bitte einmal bis zum LoadLibrary durch und prüfe direkt nach dessen Aufruf den letzten Fehler:
Delphi-Quellcode:
Das kannst du einfach im Debugger auswerten.
SysErrorMessage(GetLastError)
Und mit dem Process Monitor kannst du prüfen, ob die korrekte DLL versucht wird zu laden. |
AW: Probleme beim Einbinden des TEdgeBrowsers
Kurze Frage: Die TEdgeBrowser-Komponente greift ja mit Sicherheit auf die WebView-API von Windows zu. Alles andere ergäbe ja keinen Sinn, dann könnte man ja CEF benutzen. Nun müsste das aber doch bei jedem Windows vorinstalliert sein, da es ja beispielsweise von Cortana & Co verwendet wird. Wozu also die externen DLLs?
|
AW: Probleme beim Einbinden des TEdgeBrowsers
WebView2.... das ist der Edge. Nicht der IE
|
AW: Probleme beim Einbinden des TEdgeBrowsers
Hi jaenicke
Ich hab das hier eingefügt:
Delphi-Quellcode:
Brauchts das? hWebView2 ist hier auch nach dem Aufruf von LoadLibrary 0. Bei Erfolg müsste hWebView2 jedoch das Dateihandle enthalten, also grösser null sein.
function CheckWebView2Loaded: Boolean;
var ErrorString: String; begin if hWebView2 = 0 then begin hWebView2 := LoadLibrary('WebView2Loader.dll'); if hWebView2 = 0 then Exit(False); Oder hab ich da was falsch verstanden? Dass im EXE-Verzeichnis die falsche DLL liegt (32- vs. 64Bit) kann ich ausschliessen. Gruss Delbor |
AW: Probleme beim Einbinden des TEdgeBrowsers
Zitat:
Zitat:
Zitat:
|
AW: Probleme beim Einbinden des TEdgeBrowsers
-hat sich erledigt-
|
AW: Probleme beim Einbinden des TEdgeBrowsers
Zitat:
Solche Probleme haben ja evtl. andere auch und die würden sich über die Lösung sicherlich freuen. |
AW: Probleme beim Einbinden des TEdgeBrowsers
Der gute Mann ist doch gar nicht derjenige mit dem ursprünglichen Problem.
|
AW: Probleme beim Einbinden des TEdgeBrowsers
Ich habe die 32-bit DLL ins gleiche Verzeichnis wie meine 32-bit .exe gelegt - und leider klappt es dennoch nicht. Bzw. klappt es auf der Entwicklungsmaschine, aber nicht beim Kunden.
|
AW: Probleme beim Einbinden des TEdgeBrowsers
Und was ist beim Kunden installiert?
Nur nochmal zur Erinnerung: Stable ist bewusst noch ausgeklammert. Zitat:
![]() |
AW: Probleme beim Einbinden des TEdgeBrowsers
Zitat:
![]() ( Wie Günther schreibt: WebView2 wird momentan noch entwickelt. ) |
AW: Probleme beim Einbinden des TEdgeBrowsers
Ich habe noch ein wenig getestet und dabei nun auch ein System gefunden, auf welchem nix angezeigt wird (Test mit dem mit Delphi mitgelieferten Programm ..\Documents\Embarcadero\Studio\21.0\Samples\Objec t Pascal\VCL\WebBrowser\Edge\): Auf einem "Microsoft Windows Server 2012 R2 Datacenter" (Win 8.x) habe ich Edge (85.0.564.44) via obigen Link installiert. Für die via Delphi > GetIt installierbare WebView2 Version 0.9.488.0 reicht Edge Version 84.0.488.
Ich habe danach den " ![]() Jetzt läuft's. Das Beispielprogramm zeigt im Menu "File > Get browser version" "Browser Version Info After WebView Creation - 86.0.622.10" an. Ich nehme mal an, das wird auch bei deinem Kunden ein guter Tag werden :-D. |
AW: Probleme beim Einbinden des TEdgeBrowsers
Hallo!
Wollte nur noch ein mal laut bestätigen: Wir können ruhig jetzt alle EDGE Canary/Beta-Channels vergessen. Es reichen nur MS WebView2 Runtime + 32/64 WebView2Loader.dll. Funktioniert auch auf Win.Servers mit Terminal Server. D.h. wird automatisch für alle neue Users aktiv. Eine Software-Distribution mit TEDGEBrowser ist auch sehr einfach. Wir haben alle unsere Projekte endlich von CEF4Delphi zu TEDGEBrowser umgestellt und die laufen! |
AW: Probleme beim Einbinden des TEdgeBrowsers
Hallo,
welche Version der DLL mit welcher Version des EDGE setzt ihr ein? Ich bekomme keine Konfiguration ans Laufen (Demo-Projekt Delphi). Danke und ciao Frank |
AW: Probleme beim Einbinden des TEdgeBrowsers
Simulation:
Nagtes Windows (z.B. 10x64) WebView2Loader.dll - 0.9.579.0, Projektverzeichnis. MS WebView2 Runtime installiert. Funktioniert. |
AW: Probleme beim Einbinden des TEdgeBrowsers
Hallo,
ein nacktes Windows kann ich nicht bieten, ist ja mindestens Delphi drauf ;-) Da meine Konstellation (DLL_Version: 1.0.705.50) nicht funktioniert meine Frage: Muss es die von die angegebene Version 0.9.579.0 sein? Aus dem bei MS bereitgestellten Paket habe ich mir nur die DLL kopiert Danke und ciao Frank |
AW: Probleme beim Einbinden des TEdgeBrowsers
Liste der Anhänge anzeigen (Anzahl: 1)
Protipp: Für solche Tests eignet sich die Windows "Sandbox" eigentlich sehr gut, die setzt direkt einen frischen, virtuellen PC auf.
|
AW: Probleme beim Einbinden des TEdgeBrowsers
Für die 10.4.2 passt WebView2Loader.dll 0.9.579.0 wieder nicht.
upd: 1.0.664.37 |
AW: Probleme beim Einbinden des TEdgeBrowsers
Zitat:
Muss man aber dazuschreiben, weil sonst gleich wieder ein Experte kommt und meckert: Gibt es nur ab Windows 10 Professional und nicht in der Home-Edition. |
AW: Probleme beim Einbinden des TEdgeBrowsers
Zitat:
SCNR :duck: |
AW: Probleme beim Einbinden des TEdgeBrowsers
Für verschiedene InternetExplorer/Edge-Versionen gibt/gab es auch irgendwo von Microsoft fertige TestVMs, für die 3 inzwischen 5 großen VM-Anbieter,
und dort ist nätürlich zufällig auch ein Windows mit vorinstalliert (inkl. Treiber/Addons der VM). [ADD] ![]() Man kann auch selbst eine VM installieren (Virtual PC, HyperV, VirtualBox, VMWare, QEmu, ...) da eine VM erstellen und Windows installieren (auch wenn man nur Home hat). Nur meine One-Click-VM zum Debuggen will noch nicht so richtig. :cry: ![]() (für Delphi Pro oder vielleicht auch CE) |
AW: Probleme beim Einbinden des TEdgeBrowsers
Zitat:
|
Alle Zeitangaben in WEZ +1. Es ist jetzt 19:57 Uhr. |
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz