delphi webkit gecko browser embedded-control

Cómo incrustar un objeto de navegador, que no sea IE<n>, en una aplicación Delphi



webkit gecko (5)

En los últimos tres años me he encontrado muy poco en la forma de integrar Gecko en Delphi. Una biblioteca que apareció bastante tarde en el juego (para mí) fue el proyecto GeckoSDK en SourceForge . Hice un gran trabajo al principio para tratar de hacer que Gecko incrustado funcione correctamente en Delphi. Nuestro primer intento en un "buscador" interno basado en un motor de renderizado Gecko fue construido usando Delphi y Gecko 1.8. Desde entonces, hemos avanzado y nuestro navegador ahora es una aplicación XULRunne . Tengo trozos de código en mi disco duro desde el primer intento que aún no he borrado.

Cuando Mozilla lanza Gecko 2.0, creo que será mucho más fácil integrarlo en Delphi. El sistema de objetos XPCOM en Gecko hace que sea muy difícil de insertar porque la mayoría de los elementos devuelve un NS_RESULT. Las cuerdas especialmente fueron difíciles.

editar: solo busqué en mis marcadores antiguos (casi todos están muertos) y busqué una nueva URL para el navegador "bagel" en japonés, basado en Gecko, y lo encontré aquí,

http://github.com/plus7/bagel/tree/master/Legacy .

Esta es probablemente la mejor opción para comenzar con un excelente código. Lamentablemente, los comentarios en el código son japoneses y el autor nunca respondió preguntas.

El uso del TWebBrowser por defecto facilita la incrustación de un navegador web. Desafortunadamente, el que viene por defecto es IE <n>.

Me pregunto cómo se integra uno con Gecko o WebKit.

  1. ¿Hay ejemplos de VCL en alguna parte?
  2. Si no, ¿cómo podría uno hacerlo?
  3. ¿Dónde está el mejor lugar para encontrar el núcleo de Gecko y / o WebKit en un formato incrustable?



Una alternativa viable es CEF - Chromium Embedded Framework que encapsula el navegador Chromium que encapsula WebKit por sí mismo. Esta biblioteca se proporciona como archivos DLL simples con una API C exportada.

Hay una interfaz delphi disponible en code.google.com/p/delphichromiumembedded

Lo he estado utilizando con mi propia implementación de interfaz y funciona muy bien, aunque no tan fácil de usar correctamente como THTML o IE, pero es ideal para quienes necesitan un navegador potente e integrable.


Edit: Lars me golpeó, desafortunadamente

Bueno, hay un control ActiveX basado en el motor Gecko que intenta presentar una copia exacta de la API IWebBrowser (que utiliza TWebBrowser).

Puede encontrarlo aquí: http://www.iol.ie/~locka/mozilla/control.htm Desafortunadamente, parece que no se ha actualizado desde hace tiempo. La última versión está basada en Gecko 1.7.12 y creo que Gecko está actualmente en 1.9.x (usado en Firefox 3)