2012-07-04 17 views
8

Mam nadzieję, że nie zostanie to usunięte jako subiektywne. Jedyną subiektywną częścią może być to, że 1) moje Delphi jest lepsze niż mój PHP i 2) Wolę kompilowane do zinterpretowanych języków programowania.Czy istnieje techniczny powód, aby nie używać TWebBrowser w Delphi do przeglądania Google Earth?

Jednak faktyczne (nie subiektywne) pytanie brzmi - jeśli wybiorę Delphi i użyję TWebBrowser (lub podobnego mechanizmu) do wyświetlenia/manipulowania Google Earth, czy w jakikolwiek sposób ograniczę moją dostępną funkcjonalność?

Czy mogę zrobić coś "w przeglądarce", czego nie mogę zrobić "w komponencie przeglądarki VCL"?

[Aktualizacja] Zapomniałem powiedzieć, że 1) Czuję się komfortowo tylko z systemem Windows i 2) funkcja Google Earth jest tylko częścią większej aplikacji (dla mnie łatwiej jest wdrożyć tę aplikację jako Delphi program, a nie jakaś przeglądarka, ale brzmi to subiektywnie, dlatego nigdy o tym nie wspominałem, po prostu utknę w "jeśli wybiorę Delphi i użyję TWebBrowser czy będę ograniczał moją dostępną funkcjonalność w jakikolwiek sposób?", jak pytanie , ponieważ można na nie odpowiedzieć:

+1

Będziesz ograniczając się do platformy, na której działa kod. Zazwyczaj będzie to Windows, jeśli zbudujesz go na TWebBrowser. –

+1

Jestem [nadal zastanawiam się] (http://stackoverflow.com/q/9327111/960757) jeśli ktoś przetestował ['TChromiumFMX'] (http://delphichromiumembedded.googlecode.com/svn/trunk/) na Mac OS, jeśli to możliwe. – TLama

+1

Okay, czy pytanie "Delphi" kontra "PHP"? Jeśli nie jesteś _ związany z PHP, spójrz na Python. –

Odpowiedz

8

Nie ma żadnego technicznego powodu, aby nie używać TWebBrowser do wyświetlania map, lub cokolwiek innego w tej sprawie.Tak jest to kwestia opinii i najprawdopodobniej słyszałeś opinie ludzi mówiąc, nie należy tego robić. Niestety, przepełnienie stosu to pytanie/odpowiedź strony, więc takie pytanie nie jest konieczne.

Okładka okna przeglądarki Internet Explorer i opiera się na dowolnej wersji IE. Wszystko, co można otworzyć w Internet Explorerze, można również otworzyć pod adresem TWebBrowser, Google Earth. Chodzi o wskazanie strony i załadowanie jej. Jeśli chodzi o względy techniczne, mogą tu i tam być pewne usterki, ale nie rozumiem, dlaczego nie.

+2

+1, gdzie +2 jest za udzielenie odpowiedzi na pytanie, -1 za * mogą być pewne usterki tu i tam * ponieważ są pewne i są całkiem krytyczny. – TLama

+0

lol "usterki". @TLama, wszystko zaczyna się od właściwego zrozumienia, jak działa ten komponent i jakie dziury musisz wypełnić, aby zapewnić dobre wrażenia z twebbrowser. – whosrdaddy

+2

"Wszystko, co można otworzyć w Internet Explorerze, można również otworzyć w TWebBrowser" może nie być dokładnie 100% prawdziwe, ale tylko 99,99%. Po pierwsze, agent użytkownika zgłoszony przez "TWebBrowser" może nie być identyczny z raportowanym przez zainstalowany prawdziwy IE. –

2

Tak, jest jeden - Chromium Embedded Framework (CEF) ma dużo wyższą wydajność niż IE, szczególnie w przypadku, gdy użytkownik końcowy używa wcześniejszej wersji IE.

CEF jest oparty na projekcie Google Chrome o otwartym kodzie źródłowym.

Używam CEF w LIVEditor (my new live html editor), a wynik jest bardzo dobry !.

Należy jednak pamiętać, że po skompresowaniu należy rozprowadzić dodatkowe 20 MB plików.

+0

1 Dzięki. Szukałem tego, odkąd Warren go polecił – Mawg

7

Czy mogę zrobić coś "w przeglądarce", czego nie mogę zrobić "w komponencie przeglądarki VCL"?

Krótka odpowiedź jest taka, że ​​jeśli znasz TWebBrowser (tj based)/DelphiChromiumEmbedded (Webkit) wewnątrz-out nie są ograniczone.

dwóch głównych przeglądarek znam, są oparte na kontroli TWebBrowser/IE - Avant Browser (napisane w Delphi) i Maxthon (użyłem obu, i służyli mi bardzo dobrze, aż całkowicie włączone do FF) - nigdy miał problemy z kompatybilnością z nimi (w porównaniu do aplikacji IE).

Dobry punkt wyjścia to TEmbeddedWB - Pakiet ten otacza interfejs IWebBrowser i bibliotekę sterującą (SHDOCVW.DLL), aby umożliwić tworzenie dostosowanej aplikacji do przeglądania sieci.

Jedna bardzo ważna kwestia, jaką ma Kontrola Przeglądarki Internetowej, domyślnie korzysta z trybu renderowania IE 7. więc musisz określić tryb renderowania IE dla własnej aplikacji (see this article). Są też inne problemy, ale większość z nich może być skonfigurowany i dostosowany za pomocą rejestru FeatureControl klawiszy:

HKEY_CURRENT_USER\Software\Microsoft\Internet Explorer\Main\FeatureControl

+0

+1 Dzięki za informację – Mawg