W najnowszym delphi 10.4 Sydney dostepny jest komponent TEdgeBrowser ktory jest nastepca TWebBrowser. Czy ktos posiada moze sam komponent bez koniecznosci instalacji Delphi 10.4?
TEdgeBrowser oparty jest na Edge już z silnikiem Chromium? Jesli tak, to jest przecież CEF4Delphi, które działa od D7 do D10.4 + Lazarus 2.0.8/FPC 3.0.4
https://github.com/salvadordf/CEF4Delphi
Jesli chodzi o cef4 - nie dzialal mi nigdy na zadnym delphi ani lazarusie. cef3 sprawowal sie znakomicie, aczkolweik momentami bywa zbyt przestarzaly. Cef4 - kompiluje sie bezproblemowo, sypia sie jednak bledy. Pomyslalem iz moze ten TEdgeBrowser bylby znakomitym rozwiazaniem
sprawdzilem ten TEdgeBrowser - niestety to samo jak w przypadku CEF4... strony otwieraja sie puste, nie rozumiem zupelnie dlaczego tak sie dzieje. O ile cef3 strony dzialaja bez problemowo tak DCEF4 orac TEdgeBrowser otwiera mi zupelnie puste strony...
Nie mam zielonego pojecia dlaczego... moze jakies bibloteki trzeba doinstalowac do katalogu systemowego?
Co do CEF4Delphi
to w Lazarusie działa bez problemu:
- komponent pobieram stąd: https://github.com/salvadordf/CEF4Delphi/archive/81.0.4044.138.zip a następnie instaluje
- biblioteki stąd: http://opensource.spotify.com/cefbuilds/cef_binary_81.3.10%2Bgb223419%2Bchromium-81.0.4044.138_windows32.tar.bz2 - do katalogu z aplikacją należy skopiować zawartość folderów
Release
iResources
.
Przykładowy projekt w załączniku - otwiera tylko stronę 4p, a tutaj wersja skompilowana wraz z bibliotekami: https://drive.google.com/file/d/1Ib6wafjqS-t62HnSY7iNCbbgpk9rHhtu/view?usp=sharing (~60mb).
Co do `TWebBrowser` to podobny komponent udostępnił TMS w swoim pakiecie `TMS FNC Core`, i przy użyciu ich komponentu, aby to działało to w katalogu z exe musi być biblioteka MS: `WebView2Loader` - w załączniku biblioteki, które są dołączone do komponentu, i działają, ale ja korzystam z wersji `Canary`, do stabilnej wersji Edge mogą być potrzebne w innej wersji.
Sprawdze Twoj patent i dam znac. Byc moze to jest to... Ja zawartosc tych katalogow kopiowalem do c:\windows - powinno wg mnie dzialac. Bez tego zabiegu przy uruchomieniu aplikacji wyskakiwaly bledy i nie mozna bylo odpalic aplikacji. Po skopiowaniu - aplikacja sie otwierala, jednakze komponent zawsze byl pusty - nie wyswietlal zadnej strony. Sprawdze jeszcze Twoj patent i zobaczymy co bedzie
komponent będzie też pusty jeżeli nie zainicjalizujesz chromium (całość jest w załączonym powyżej przykładzie):
źródło formy pas
:
procedure CreateGlobalCEFApp;
begin
GlobalCEFApp:=TCefApplication.Create;
end;
procedure Form1.Show(Sender: TOject);
begin
ChromiumWindow1.CreateBrowser;
//autor zaleca użycie do tego timera - tak jak w przykładzie,
//ponieważ nie zawsze za pierwszym razem następuje inicjalizacja przeglądarki
end;
źródło projektu lpr
:
begin
CreateGlobalCEFApp;
if GlobalCEFApp.StartMainProcess then
begin
RequireDerivedFormResource:=True;
Application.Scaled:=True;
Application.Initialize;
Application.CreateForm(TForm1, Form1);
Application.Run;
end;
DestroyGlobalCEFApp;
end.
a otworzy stronę https://www.lotto.pl/ ?
Nadmienie iz przetestowalem TEdgeBrowser w Delphi 10.4 na systemie windows 8.1 - niestety.... dalej wyswietlaja sie tylko i wylacznie puste strony. Byc moze znowu tzreba instalowac jakies dodatkowe komponenty, jestem troche zawiedziony, gdzyz liczylem iz skoro wszsytko jest zintegrowane w kompilatorze - powinno wszsytko dzialac od razu bez zadnego dodatkowego kombinowania. Byc moze na windows 10 wszystko powinno dzialac, aczkolwiek nie sprawdzalem...