Gibt es einen technischen Grund, keinen TWebBrowser in Delphi zu verwenden, um Google Earth anzuzeigen?

8

Ich hoffe, dass dies nicht als subjektiv gelöscht wird. Der einzige subjektive Teil könnte sein, dass 1) mein Delphi besser ist als mein PHP und 2) ich kompilierte zu interpretierten Programmiersprachen bevorzuge.

Die tatsächliche (nicht-subjektive) Frage lautet jedoch: Wenn ich Delphi auswähle und einen TWebBrowser (oder einen ähnlichen Mechanismus) verwende, um Google Earth anzuzeigen / zu manipulieren, schränke ich meine verfügbare Funktionalität in irgendeiner Weise ein?

Gibt es einige Dinge, die ich nur "in einem Browser" tun kann, die ich nicht "in einer VCL-Browser-Komponente" machen kann?

[Update] Ich habe vergessen zu sagen, dass 1) Ich bin nur mit Windows vertraut und 2) die Google Earth-Funktionalität ist nur ein Teil einer größeren APP (für mich ist es einfacher, diese App als Delphi-Programm zu implementieren) als etwas browserbasiertes, aber das hört sich wieder subjektiv an, weshalb ich es nie erwähnt habe, ich bleibe einfach bei "wenn ich Delphi wähle und einen TWebBrowser verwende, schränkt ich meine verfügbare Funktionalität in irgendeiner Weise ein?" da kann das beantwortet werden.

    
Mawg 04.07.2012, 07:05
quelle

3 Antworten

8

Es gibt keinen technischen Grund, das TWebBrowser nicht zum Anzeigen von Karten oder irgendetwas anderem zu verwenden. In der Tat ist dies eine Frage der Meinung, und wahrscheinlich haben Sie die Meinungen von Leuten gehört, die Ihnen sagen, dass Sie das nicht tun sollen. Leider ist Stack Overflow eine Frage / Antwort-Seite, daher ist eine Frage wie diese nicht unbedingt möglich.

Das TWebBrowser umschließt ein Internet Explorer-Browserfenster und hängt davon ab, welche Version von IE installiert ist. Alles, was Sie im Internet Explorer öffnen können, kann auch in TWebBrowser , inklusive Google Earth, geöffnet werden. Es geht darum, es auf eine Seite zu zeigen und zu laden. Aus technischen Gründen kann es hier und da einige Störungen geben, aber ich verstehe nicht warum.

    
Jerry Dodge 04.07.2012, 07:58
quelle
7
  

Gibt es einige Dinge, die ich nur "in einem Browser" tun kann, die ich nicht "in einer VCL-Browserkomponente" machen kann?

Die kurze Antwort lautet, dass, wenn Sie den TWebBrowser (IE-basiert) / DelphiChromiumEmbedded (Webkit) in- out bist du nicht begrenzt.

Zwei bekannte Browser, die ich kenne, basieren auf dem Browser TWebBrowser / IE - Avant Browser (geschrieben in Delphi) und Maxthon (Ich habe beide benutzt, und sie haben mir sehr gut gedient, bis ich komplett zu FF gewechselt habe) - hatte nie irgendwelche Kompatibilitätsprobleme mit ihnen (im Vergleich zu IE-Anwendung).

Ein guter Ausgangspunkt ist der TEmbeddedWB - Dieses Paket schließt die IWebBrowser-Schnittstelle und die Steuerbibliothek (SHDOCVW.DLL) damit Sie eine benutzerdefinierte Web-Browsing-Anwendung erstellen können.

Ein sehr wichtiges Problem, das Web Browser Control, hat standardmäßig den IE 7 Rendering-Modus. Daher müssen Sie den IE-Rendermodus für Ihre eigene Anwendung angeben ( siehe diesen Artikel ). Es gibt andere Probleme, aber die meisten von ihnen könnten über die Registry FeatureControl keys konfiguriert und angepasst werden:

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

    
kobik 05.07.2012 10:36
quelle
2

Ja, es gibt eines - Chromium Embedded Framework (CEF) ist viel leistungsstärker als IE, insbesondere wenn Ihr Endbenutzer eine frühere Version von IE verwendet.

CEF basiert auf Googles Open-Source-Projekt Chromium.

Ich benutze CEF in LIVEditor (mein neuer Live-HTML-Editor) und das Ergebnis ist sehr, sehr gut!.

Beachten Sie jedoch, dass Sie beim Komprimieren weitere 20 MB-Dateien verteilen müssen.

    
Edwin Yip 05.07.2012 10:19
quelle

Tags und Links