Ich denke schon, denn das Abrufen von GetEdge erstellt die Instanz, wenn sie noch nicht existiert, wenn ich den Code richtig interpretiere.
[...]
Du hast zwar recht, dass das Control noch nicht fertig sein könnte, allerdings ist FEdge zu dem Zeitpunkt schon gesetzt. Aber auf der sicheren Seite bin ich wirklich mit dem OnBeforeNavigate...
Danke für den Hinweis.
Ja, stimmt, GetEdge richtet bereits das Delphi-Control ein. Nur Deine Funktion "GetEdgeBrowser" würde nicht funktionieren, da ActiveEngine zunächst mit "NoneYet" initialisiert wird. Aber da Du die anscheinend gar nicht mehr verwendest und direkt GetEdge aufrufst, sollte alles schon in OnShow klappen.
Nur auf die Webview-Interfaces wie ICoreWebView2 kann man erst später zugreifen, wenn das Webview tatsächlich geladen wurde. Und es besteht noch die Gefahr, dass das Laden schiefgeht und als Fallback der IE geladen wird. Also sollte man den Rückgabewert von GetEdge nicht speichern.
Ist aber beides bei Deinem Code kein Problem.