Autor Téma: Delphi 10.4 - TEdgeBrowser  (Přečteno 3480 krát)

Offline neo

  • Plnoletý
  • ***
  • Příspěvků: 120
  • Karma: 2
    • Verze Delphi: Delphi 6, Delphi 10.3.3
Re:Delphi 10.4 - TEdgeBrowser
« Odpověď #45 kdy: 20-07-2020, 12:58:32 »
Myslíš vytáhnout z 10.3 a použít v 10.4 ?

Offline neo

  • Plnoletý
  • ***
  • Příspěvků: 120
  • Karma: 2
    • Verze Delphi: Delphi 6, Delphi 10.3.3
Re:Delphi 10.4 - TEdgeBrowser
« Odpověď #46 kdy: 20-07-2020, 13:27:52 »
Tak stále hlási chybu

https://cdn.whatismybrowser.com/prod-website/static/main/js/site.min.js?date=o72jJ19gpv14

pak se už ukáže normální stránka
Použit TWebBrowser s nastavením pokud existuje Edge tak použít ...





Offline neo

  • Plnoletý
  • ***
  • Příspěvků: 120
  • Karma: 2
    • Verze Delphi: Delphi 6, Delphi 10.3.3
Re:Delphi 10.4 - TEdgeBrowser
« Odpověď #47 kdy: 20-07-2020, 13:33:34 »
A tady chyba ...

Offline neo

  • Plnoletý
  • ***
  • Příspěvků: 120
  • Karma: 2
    • Verze Delphi: Delphi 6, Delphi 10.3.3
Re:Delphi 10.4 - TEdgeBrowser
« Odpověď #48 kdy: 20-07-2020, 14:46:34 »
Diky za pomoc Radku - nevěděl jsem, že je nutné až takto sahat do registrů. Už jsem si to vyřešill snad univerzálně podle těchto odkazů. Kdyby někdo řešil nědo podobného - tady je vcelku pěkný návod:

https://stackoverflow.com/questions/30780843/delphi-twebbrowser-wont-run-javascript-from-localhost
https://stackoverflow.com/questions/25843845/how-to-have-delphi-twebbrowser-component-running-in-ie9-mode/25843958#25843958

Třeba stránky idnes ještě hlásí chyby ale to co potřebujeme už se zá funkční ...

Offline Radek Červinka

  • Administrátoři
  • Padawan
  • *****
  • Příspěvků: 2869
  • Karma: 106
    • Verze Delphi: D2007, DXE + 2 poslední
    • O Delphi v češtině
Re:Delphi 10.4 - TEdgeBrowser
« Odpověď #49 kdy: 20-07-2020, 15:11:24 »
Diky za pomoc Radku - nevěděl jsem, že je nutné až takto sahat do registrů. Už jsem si to vyřešill snad univerzálně podle těchto odkazů. Kdyby někdo řešil nědo podobného - tady je vcelku pěkný návod:

https://stackoverflow.com/questions/30780843/delphi-twebbrowser-wont-run-javascript-from-localhost
https://stackoverflow.com/questions/25843845/how-to-have-delphi-twebbrowser-component-running-in-ie9-mode/25843958#25843958

Třeba stránky idnes ještě hlásí chyby ale to co potřebujeme už se zá funkční ...


Nejsem si jist, ale myslím, že zápis do toho registru bude potřebovat elevated práva.
Jinak WebBrowser.Silent := true by tě mohlo zbavit tech chyb
Embarcadero MVP - Czech republic

Offline neo

  • Plnoletý
  • ***
  • Příspěvků: 120
  • Karma: 2
    • Verze Delphi: Delphi 6, Delphi 10.3.3
Re:Delphi 10.4 - TEdgeBrowser
« Odpověď #50 kdy: 20-07-2020, 15:14:39 »
Silent zkusím....



Tohle jede v pohodě:
-------------------------

  MRegistry := TRegistry.Create (KEY_SET_VALUE);
  try
   MRegistry.RootKey := HKEY_CURRENT_USER;
   Win32Check (MRegistry.OpenKey (MRegistryPath, TRUE));
   MRegistry.WriteInteger (MExeName, AValue);

  finally
    MRegistry.Destroy;
  end;

Tady mě to nedovolí zapsat - tomu chybí oprávnění:
---------------------------------
  MRegistry := TRegistry.Create (KEY_WRITE);
  try
   MRegistry.RootKey := HKEY_LOCAL_MACHINE;
   Win32Check (MRegistry.OpenKey (MRegistryPath, TRUE));
   MRegistry.WriteInteger (MExeName, AValue);

  finally
    MRegistry.Destroy;
  end;


Offline neo

  • Plnoletý
  • ***
  • Příspěvků: 120
  • Karma: 2
    • Verze Delphi: Delphi 6, Delphi 10.3.3
Re:Delphi 10.4 - TEdgeBrowser
« Odpověď #51 kdy: 20-07-2020, 15:52:21 »
A tady ještě pro úplnost odkaz:

http://docwiki.embarcadero.com/Libraries/Sydney/en/SHDocVw.TWebBrowser


Offline František

  • Guru
  • *****
  • Příspěvků: 635
  • Karma: 6
    • Verze Delphi: primárne v XE5, občas 10.2.3 comunity
Re:Delphi 10.4 - TEdgeBrowser
« Odpověď #52 kdy: 07-09-2020, 17:14:16 »
ako je to TEdgeBrowser a 10.4.1?

Offline Jan Fiala

  • Plnoletý
  • ***
  • Příspěvků: 183
  • Karma: 2
    • Verze Delphi: 10.4.1
    • PSPad editor
Re:Delphi 10.4 - TEdgeBrowser
« Odpověď #53 kdy: 08-09-2020, 13:41:58 »
ako je to TEdgeBrowser a 10.4.1?

Testoval jsem TWebBrowser a TEdgeBrowser v 10.4.1.

TWebBrowser - bez nereaguje runtime nastaveni SelectedEngine (IEOnly, EdgeOnly). Pritom designtime nastaveni funguje. Dokonce se v TWebBrowser zobrazuje uz i Edge.

TEdgeBrowser - funguje jako v 10.4, tzn. je nutné mít nainstalovaný Edge Cannary build - opět nechápu, protože final Edge, založený na Chromiu nahradil starý Edge.

Je třeba přes GetIt znovu nainstalovat EdgeView2 SDK, jinak není WebView2Loader.dll
« Poslední změna: 08-09-2020, 14:05:13 od Jan Fiala »

Offline Radek Červinka

  • Administrátoři
  • Padawan
  • *****
  • Příspěvků: 2869
  • Karma: 106
    • Verze Delphi: D2007, DXE + 2 poslední
    • O Delphi v češtině
Re:Delphi 10.4 - TEdgeBrowser
« Odpověď #54 kdy: 08-09-2020, 15:13:17 »
ako je to TEdgeBrowser a 10.4.1?

Testoval jsem TWebBrowser a TEdgeBrowser v 10.4.1.

TWebBrowser - bez nereaguje runtime nastaveni SelectedEngine (IEOnly, EdgeOnly). Pritom designtime nastaveni funguje. Dokonce se v TWebBrowser zobrazuje uz i Edge.

TEdgeBrowser - funguje jako v 10.4, tzn. je nutné mít nainstalovaný Edge Cannary build - opět nechápu, protože final Edge, založený na Chromiu nahradil starý Edge.

Je třeba přes GetIt znovu nainstalovat EdgeView2 SDK, jinak není WebView2Loader.dll

Ted jsem zkousel. Ja to chapu tak, ze Canary není to same jak normalni Edge, ze je tam neco navic. Vsechny bug reporty i s posledni doby s edge odkazuji na Canary.

TWebBrowser v modu EdgeIfAvailable mi pouzije Edge. Nemuze to byt v tvem pripade tim, ze Edge je vytvareno asynchronne, a ty na to musis reagovat? Viz. http://docwiki.embarcadero.com/RADStudio/Sydney/en/Using_TEdgeBrowser_Component_and_Changes_to_the_TWebBrowser_Component
Embarcadero MVP - Czech republic

Offline Jan Fiala

  • Plnoletý
  • ***
  • Příspěvků: 183
  • Karma: 2
    • Verze Delphi: 10.4.1
    • PSPad editor
Re:Delphi 10.4 - TEdgeBrowser
« Odpověď #55 kdy: 09-09-2020, 08:08:20 »
Canary build bude zřejmě souviset s tím, že WebView2 SDK od MS je zatím prerelease, tak je možná vztažené ke Canary buildu.

Na ten TWebBrowser se ještě podívám. Zkoušel jsi v TWebBrowser přepínat engine programově za běhu? Ne v Designu? V Designu to funguje, za běhu ne. Teď mě napadlo, že bude možná třeba creatnout ten engine, ale pak by ta property ztrácela smysl.
Nastav WebBrowser.SelectedEngine na IEOnly, pak zkus v programu přepnout na EdgeOnly a zavolat Navigate.
K tomu si můžeš přečíst WebBrowser.ActiveEngine, abys zjistil, že se stále používá IE


Offline neo

  • Plnoletý
  • ***
  • Příspěvků: 120
  • Karma: 2
    • Verze Delphi: Delphi 6, Delphi 10.3.3
Re:Delphi 10.4 - TEdgeBrowser
« Odpověď #56 kdy: 09-09-2020, 09:26:45 »
Já jsem s tím před časem trochu zápasil - viz. přispěvky výše. Ale podařilo se vyřešit podlě mě zcela ideálně. Používám stále TWebBrowser s automatickou detekci Edge - pokud je korektně nainstalován Canary Edge, přepne se a používá ho. Instalaci stahuji odsud a používám týdenní build.
https://www.microsoftedgeinsider.com/cs-cz/download/
Provedeno na několik PC a funguje na 100 %.

Nad tím, že se musí stahovat pro použití embended browseru nějaká zvláštní edice (přitom je Edge na PC již instalován) se raději už nepozastavuji.

Offline Jan Fiala

  • Plnoletý
  • ***
  • Příspěvků: 183
  • Karma: 2
    • Verze Delphi: 10.4.1
    • PSPad editor
Re:Delphi 10.4 - TEdgeBrowser
« Odpověď #57 kdy: 09-09-2020, 10:42:14 »
Jak jsem psal, pokud to nastavíš v Design, funguje to. Já potřebuju přepínat engine za chodu a tam je problém.
Takže místo jedné komponenty zatím podle nastavení vytvářím za běhu buď WebBrowser nebo EdgeBrowser.

Offline chaloup

  • Plnoletý
  • ***
  • Příspěvků: 113
  • Karma: 11
    • Verze Delphi: Delphi 10.2
Re:Delphi 10.4 - TEdgeBrowser
« Odpověď #58 kdy: 14-04-2021, 12:35:26 »
Co jsem to teď testoval v 10.4, tak pořád je třeba nainstalovat Canary Edge, takže pro použití u zákazníků nepoužitelné, nebo se pletu?

Offline Jan Fiala

  • Plnoletý
  • ***
  • Příspěvků: 183
  • Karma: 2
    • Verze Delphi: 10.4.1
    • PSPad editor
Re:Delphi 10.4 - TEdgeBrowser
« Odpověď #59 kdy: 14-04-2021, 12:41:34 »
Co se týká WebView a Canary buildu Edge, tak to záleží vše na MS - zatím pouze Canary.
A i potom budeš u zákazníků potřebovat aktualizovaný Edge. na starší verzi to nepojede.