Ich beantworte einen Teil selber: Ich hab im MyGetEdge die Abfrage auf ActiveEngine entfernt, ich dachte, das wäre nötig, um keinen Blödsinn zu liefern.
Aber die Frage, ob es einen besseren Weg gibt, vorhandene Events des TWebBrowser an EdgeBrowser zu übersetzen, bleibt.
So is immer im Code nachzuarbeiten, da es in der
IDE kein ensprechendes Property gibt...
Also zusammengefasst:
Code:
type TWebBrowserHelper = class helper for TWebBrowser
private
function MyGetEdge: TEdgeBrowser;
public
property GetEdge: TEdgeBrowser read MyGetEdge;
end;
function GetEdgeBrowser(W: TWebBrowser): TEdgeBrowser;
begin
Result := nil;
if W.ActiveEngine=Edge then Result := W.GetEdge;
end;
procedure TForm1.FormShow(Sender: TObject);
var e: TEdgeBrowser;
begin
Memo1.Lines.Clear;
e := WebBrowser1.GetEdge;
if e<>nil then
e.OnNavigationCompleted := EdgeBrowser1NavigationCompleted;
end;