Как встроить объект браузера, отличный от IE, в приложение Delphi

использование TWebBrowser по умолчанию упрощает внедрение веб-браузера. К сожалению, по умолчанию используется IE.

Мне интересно, как интегрировать Gecko или WebKit.

  1. есть ли где-нибудь примеры VCL?
  2. если нет,то как бы это сделать?
  3. где лучше всего найти ядро для Gecko и / или WebKit в встраиваемом формате?

5 ответов


TWebBrowser is IE. Это не подключаемая конструкция для браузеров. Вы можете иметь другие браузеры, интегрированные в вашем приложении. См.


жизнеспособной альтернативой является встроенный каркас CEF-Chromium который инкапсулирует браузер Chromium, который сам по себе инкапсулирует WebKit. Эта библиотека предоставляется как простые библиотеки DLL с экспортированным API C.

интерфейс delphi доступен по адресу code.google.com/p/delphichromiumembedded

Я использую его с моей собственной реализацией интерфейса и отлично работает, хотя и не так прост в использовании, как THTML или IE, но отлично подходит для кому нужен мощный и встраиваемый браузер.


изменить: Ларс опередил меня, к сожалению

Ну есть элемент управления ActiveX на основе движка Gecko, который пытается представить точную копию API IWebBrowser (который использует TWebBrowser).

вы можете найти его здесь: http://www.iol.ie/~locka/mozilla/control.htm К сожалению, похоже, что он не обновлялся некоторое время. Последняя версия основана на Gecko 1.7.12, и я считаю, что Gecko в настоящее время до 1.9.x (используется в Firefox 3)


альтернативой является компонент THTMLViewer. Я использую это в течение нескольких лет.

теперь это доступно бесплатно. веб-сайт здесь http://pbear.com/htmlviewers.html. Согласно веб-сайту songbeamer (http://www.songbeamer.com/delphi/) доступна версия Delphi 2009.


за последние три года я очень мало сталкивался с внедрением геккона в Дельфы. Одна библиотека, которая появилась довольно поздно в игре (для меня) был проект GeckoSDK на SourceForge. Я сделал много работы на раннем этапе, пытаясь заставить встроенного геккона работать правильно в Delphi. Наша первая попытка внутреннего "браузера" на основе движка рендеринга Gecko была построена с использованием Delphi и Gecko 1.8. С тех пор мы переехали и наш браузер теперь XULRunner приложение. У меня есть куски кода, лежащие на моем жестком диске еще с той ранней попытки, которую я еще не удалил.

когда Mozilla выпустит Gecko 2.0, Я думаю, что будет намного проще встроить в Delphi. Объектная система XPCOM в Gecko делает ее очень сложной для внедрения, потому что почти все возвращает NS_RESULT. Особенно жесткими были струны.

edit: я просто просмотрел свои старые закладки (почти все из которых мертвы) и искал новый url для Японский язык" бублик " браузер на основе Gecko и нашел его здесь,

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

Это, вероятно, ваш лучший выбор для отличного кода для начала. К сожалению, комментарии в коде являются японскими, и автор никогда не отвечал на вопросы.