2012-07-04 11 views
8

Espero que esto no se elimine como subjetivo. La única parte subjetiva podría ser que 1) mi Delphi es mejor que mi PHP y 2) prefiero compilar a los lenguajes de programación interpretados.¿Existe alguna razón técnica para no usar un TWebBrowser en Delphi para ver Google Earth?

Sin embargo, la pregunta real (no subjetiva) es: si elijo Delphi y uso un TWebBrowser (o mecanismo similar) para ver/manipular Google Earth, ¿restringiré mi funcionalidad disponible de alguna manera?

¿Hay algunas cosas que solo puedo hacer "en un navegador" que no puedo hacer "en un componente de navegador VCL"?

[Actualizar] Olvidé decir que 1) Estoy cómodo solo con Windows y, 2) la funcionalidad de Google Earth es solo una parte de una aplicación más grande (para mí, es más fácil implementar esa aplicación como Delphi programa que algo basado en navegador, pero que suena subjetivo de nuevo, por lo que nunca lo mencioné. Me limitaré a decir "si elijo Delphi y uso un TWebBrowser, ¿restringiré mi funcionalidad disponible de alguna manera?" como la pregunta , ya que puede ser respondida

+1

Se le restringiéndose a la plataforma en la que se ejecuta el código. Normalmente, eso sería Windows si construyeste en TWebBrowser. –

+1

Estoy ['todavía me pregunto'] (http://stackoverflow.com/q/9327111/960757) si alguien ha probado [' TChromiumFMX'] (http://delphichromiumembedded.googlecode.com/svn/trunk/) en Mac OS, si es posible. – TLama

+1

Bien, ¿la pregunta "Delphi" contra "PHP"? Si no estás vinculado a PHP, échale un vistazo a Python. –

Respuesta

8

No hay ninguna razón técnica para no usar el TWebBrowser para mostrar mapas, o cualquier cosa para el caso. De hecho, esto es una cuestión de opinión, y lo más probable es que haya escuchado las opiniones de las personas diciéndole que no lo haga. Desafortunadamente, Stack Overflow es una pregunta/respuesta sitio, por lo que una pregunta como esta no es necesariamente factible.

El TWebBrowser envuelve una ventana del navegador Internet Explorer y se basa en la versión de IE que esté instalada. Cualquier cosa que pueda abrir en Internet Explorer también se puede abrir en el TWebBrowser, incluido Google Earth. Se trata de señalarlo a una página y cargarlo. En cuanto a las razones técnicas, puede haber algunos problemas técnicos aquí y allá, pero no veo por qué no.

+2

+1, donde +2 es para responder a la pregunta, -1 para * puede haber algunas fallas aquí y allá * porque hay algunas y son bastante crítico. – TLama

+0

lol "glitches". @TLama, todo comienza con una comprensión adecuada de cómo funciona este componente y qué agujeros debe rellenar para proporcionar una buena experiencia con twebbrowser. – whosrdaddy

+2

"Cualquier cosa que se pueda abrir en Internet Explorer también se puede abrir en TWebBrowser" podría no ser exactamente 100% cierto, pero solo 99,99% más o menos. Por un lado, el agente de usuario informado por el 'TWebBrowser' podría no ser idéntico al reportado por el verdadero IE instalado. –

2

Sí, hay uno: Chromium Embedded Framework (CEF) tiene un rendimiento mucho mayor que IE, especialmente en el caso de que el usuario final utilice una versión anterior de IE.

CEF se basa en el proyecto de código abierto de Google, Chromium.

Estoy usando CEF en LIVEditor (my new live html editor) y el resultado es muy, muy bueno !.

Pero tenga en cuenta que tendrá que distribuir un archivo adicional de 20 MB cuando esté comprimido.

+0

1 Gracias. He estado buscando porque desde Warren lo recomendó – Mawg

7

¿Hay algunas cosas que solo puedo hacer "en un navegador" que no puedo hacer "en un componente de navegador VCL"?

La respuesta corta es, que si se conoce el TWebBrowser (es decir, basados)/DelphiChromiumEmbedded (Webkit) de dentro a fuera no está limitado.

dos principales navegadores que conozco, se basan en el control TWebBrowser/IE - Avant Browser (escrito en Delphi) y Maxthon (he usado ambos, y que me sirvió muy bien, hasta que completamente cambió a FF) - Nunca tenía problemas de compatibilidad con ellos (en comparación con la aplicación IE).

Un buen punto de partida será el TEmbeddedWB - Este paquete ajusta la interfaz IWebBrowser y la Biblioteca de control (SHDOCVW.DLL) para permitirle crear una aplicación de exploración web personalizada.

Un problema muy importante, el control del navegador web tiene, que utiliza el modo de representación IE 7 de forma predeterminada. por lo tanto, deberá especificar el modo de representación de IE para su propia aplicación (see this article). Hay otros problemas, pero la mayoría de ellos se podrían configurar y personalizar a través de los FeatureControl claves de registro:

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

+0

+1 Gracias por la información – Mawg

Cuestiones relacionadas