2012-07-04 8 views
8

Spero che questo non venga cancellato come soggettivo. L'unica parte soggettiva potrebbe essere che 1) il mio Delphi è migliore del mio PHP e 2) preferisco compilato per interpretare i linguaggi di programmazione.Esiste un motivo tecnico per non utilizzare un TWebBrowser in Delphi per visualizzare Google Earth?

Tuttavia, la domanda effettiva (non soggettiva) è: se scelgo Delphi e utilizzo un TWebBrowser (o un meccanismo simile) per visualizzare/manipolare Google Earth, limiterò le mie funzionalità disponibili in alcun modo?

Ci sono alcune cose che posso fare solo "in un browser" che non posso fare "in un componente del browser VCL"?

[Aggiornamento] Ho dimenticato di dire che 1) Mi sento a mio agio solo con Windows e, 2) la funzionalità di Google Earth è solo una parte di un'APP più grande (per me è più facile implementare quell'app come Delphi programma piuttosto che qualcosa basato su browser, ma suona di nuovo soggettivo, motivo per cui non l'ho mai menzionato. Mi limiterò a "se scelgo Delphi e utilizzo un TWebBrowser, limiterò in qualche modo le mie funzionalità disponibili?" come la domanda

+1

Sarete voi stessi verrà limitando alla piattaforma su cui il codice viene eseguito. In genere questo sarebbe Windows se hai costruito su TWebBrowser. –

+1

Sono ['still wondering'] (http://stackoverflow.com/q/9327111/960757) se qualcuno ha provato [' TChromiumFMX'] (http://delphichromiumembedded.googlecode.com/svn/trunk/) su Mac OS, se è anche possibile. – TLama

+1

Ok, è la domanda "Delphi" vs "PHP"? se non sei legato a PHP, dai un'occhiata a Python. –

risposta

8

Non vi è alcun motivo tecnico per non utilizzare lo TWebBrowser per visualizzare mappe o altro, in effetti è una questione di opinione e molto probabilmente avete sentito le opinioni delle persone dicendoti di non farlo. Sfortunatamente, Stack Overflow è una domanda/risposta sito, quindi una domanda come questa non è necessariamente fattibile.

TWebBrowser avvolge una finestra del browser Internet Explorer e si basa su qualsiasi versione di IE installata. Tutto ciò che è possibile aprire in Internet Explorer può anche essere aperto nello TWebBrowser, incluso Google Earth. Si tratta di puntarlo verso una pagina e caricarlo. Per ragioni tecniche, potrebbero esserci dei difetti qua e là, ma non vedo perché no.

+2

+1, dove +2 è per rispondere alla domanda, -1 per * potrebbero esserci alcuni difetti qua e là * perché ce ne sono alcuni e sono abbastanza critica. – TLama

+0

lol "glitch". @TLama, tutto inizia con una corretta comprensione di come funziona questo componente e quali buchi hai bisogno di riempire per fornire una buona esperienza con twebbrowser. – whosrdaddy

+2

"Tutto ciò che è possibile aprire in Internet Explorer può anche essere aperto in TWebBrowser" potrebbe non essere esattamente vero al 100%, ma solo al 99,99% circa. Per prima cosa, l'agente utente segnalato da 'TWebBrowser' potrebbe non essere identico a quello riportato dal vero IE installato. –

2

Sì, ce n'è uno - Chromium Embedded Framework (CEF) è molto più performante di IE, soprattutto nel caso in cui l'utente finale utilizzi una versione precedente di IE.

CEF è basato sul progetto open source di Google Chromium.

Sto utilizzando CEF in LIVEditor (my new live html editor) e il risultato è molto buono !.

Tuttavia, è necessario distribuire altri 20 MB di file quando vengono compressi.

+0

1 Grazie. Ho cercato in questo modo da quando Warren lo ha consigliato – Mawg

7

Ci sono alcune cose che posso fare solo "in un browser" che non posso fare "in un componente del browser VCL"?

La risposta breve è che, se si conosce il TWebBrowser (IE based)/DelphiChromiumEmbedded (Webkit) inside-out non si è limitata.

Due i principali browser che conosco, si basano sul controllo TWebBrowser/IE - Avant Browser (scritto in Delphi) e Maxthon (ho usato entrambi, e mi hanno servito molto bene, fino a quando ho completamente passato a FF) - mai ha avuto problemi di compatibilità con loro (rispetto all'applicazione IE).

Un buon punto di partenza sarà il TEmbeddedWB - Questo pacchetto avvolge l'interfaccia IWebBrowser e la Libreria di controlli (SHDOCVW.DLL) per consentire all'utente di creare un'applicazione di navigazione Web personalizzata.

Un problema molto importante, il controllo del browser Web, è che utilizza la modalità di rendering IE 7 per impostazione predefinita. quindi dovrai specificare la modalità di rendering di IE per la tua applicazione (see this article). Ci sono altre questioni, ma la maggior parte di loro potrebbe essere configurati e personalizzati tramite i FeatureControl chiavi di registro:

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

+0

+1 Grazie per le informazioni – Mawg

Problemi correlati