Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Programmieren allgemein (https://www.delphipraxis.net/40-programmieren-allgemein/)
-   -   TEdgeBrowser CallDevToolsProtocolMethod return values? (https://www.delphipraxis.net/214720-tedgebrowser-calldevtoolsprotocolmethod-return-values.html)

softtouch 27. Feb 2024 09:17


TEdgeBrowser CallDevToolsProtocolMethod return values?
 
Wie komme ich an die zurückgegebenen daten einer Devtool Funktion?

Zum Beispiel, ich rufe auf:

Delphi-Quellcode:
browser.DefaultInterface.CallDevToolsProtocolMethod('Schema.getDomains','{}',nil);


Der Rückgabewert ist ein array mit domains. Wie komme ich an diese Array?

looseleaf 27. Feb 2024 15:41

AW: TEdgeBrowser CallDevToolsProtocolMethod return values?
 
Gibt's da nicht ein CallDevToolsProtocolMethodCompleted Event, in dem du darauf zugreifen können solltest?

Liebe Grüße
Stefan

softtouch 27. Feb 2024 16:09

AW: TEdgeBrowser CallDevToolsProtocolMethod return values?
 
Zitat:

Zitat von looseleaf (Beitrag 1533945)
Gibt's da nicht ein CallDevToolsProtocolMethodCompleted Event, in dem du darauf zugreifen können solltest?

Liebe Grüße
Stefan

Ja, gibt es, der wird aber einfach nicht aufgerufen.

jaenicke 28. Feb 2024 05:11

AW: TEdgeBrowser CallDevToolsProtocolMethod return values?
 
Zitat:

Zitat von softtouch (Beitrag 1533912)
Delphi-Quellcode:
browser.DefaultInterface.CallDevToolsProtocolMethod('Schema.getDomains','{}',nil);

Zitat:

Zitat von softtouch (Beitrag 1533948)
Ja, gibt es, der wird aber einfach nicht aufgerufen.

In deinem Post übergibst du als Handler nil, insofern kann das auch nicht aufgerufen werden. Wie sah denn dein entsprechender Versuch aus, wenn du sagst, dass es den Handler gibt?

// EDIT:
Also bei mir wird der Handler sofort aufgerufen:
Delphi-Quellcode:
  TTest = class(TInterfacedObject, ICoreWebView2CallDevToolsProtocolMethodCompletedHandler)
    function Invoke(errorCode: HResult; returnObjectAsJson: PWideChar): HResult; stdcall;
  end;

function TTest.Invoke(errorCode: HResult; returnObjectAsJson: PWideChar): HResult;
begin
  ShowMessage(returnObjectAsJson);
  Result := S_OK;
end;

var
  Handler: ICoreWebView2CallDevToolsProtocolMethodCompletedHandler;
begin
  Handler := TTest.Create;
  EdgeBrowser1.DefaultInterface.CallDevToolsProtocolMethod('Schema.getDomains','{}', Handler);
Ergebnis:
Code:
[Window Title]
Project182

[Content]
{"domains":[{"name":"Inspector","version":"1.2"},{"name":"Memory","version":"1.2"},{"name":"Page","version":"1.2"},{"name":"Emulation","version":"1.2"},{"name":"Security","version":"1.2"},{"name":"Network","version":"1.2"},{"name":"Database","version":"1.2"},{"name":"IndexedDB","version":"1.2"},{"name":"CacheStorage","version":"1.2"},{"name":"DOMStorage","version":"1.2"},{"name":"CSS","version":"1.2"},{"name":"ApplicationCache","version":"1.2"},{"name":"DOM","version":"1.2"},{"name":"IO","version":"1.2"},{"name":"DOMDebugger","version":"1.2"},{"name":"DOMSnapshot","version":"1.2"},{"name":"ServiceWorker","version":"1.2"},{"name":"Input","version":"1.2"},{"name":"LayerTree","version":"1.2"},{"name":"DeviceOrientation","version":"1.2"},{"name":"Tracing","version":"1.2"},{"name":"Animation","version":"1.2"},{"name":"Accessibility","version":"1.2"},{"name":"Storage","version":"1.2"},{"name":"Log","version":"1.2"},{"name":"Runtime","version":"1.2"},{"name":"Debugger","version":"1.2"},{"name":"Profiler","version":"1.2"},{"name":"HeapProfiler","version":"1.2"},{"name":"Schema","version":"1.2"},{"name":"Target","version":"1.2"},{"name":"Overlay","version":"1.2"},{"name":"Performance","version":"1.2"},{"name":"Audits","version":"1.2"},{"name":"HeadlessExperimental","version":"1.2"}]}

[OK]

softtouch 28. Feb 2024 08:37

AW: TEdgeBrowser CallDevToolsProtocolMethod return values?
 
Hm da muss ich wohl irgendwo etwas falsch getippt haben... wenn ich das Beipspiel (danke dafür) kopiere, geht es auch bei mir.


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