Как встроить объект браузера, кроме IE <n>, в приложение Delphi

36

Использование TWebBrowser по умолчанию упрощает встраивание веб-браузера. К сожалению, тот, который входит по умолчанию, - IE <n> .

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

  • Есть ли там примеры VCL?
  • Если нет, как бы это сделать?
  • Где лучше всего найти ядро ​​для Gecko и/или WebKit в встраиваемом формате?
Теги:
browser
webkit
gecko

5 ответов

19
Лучший ответ

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

  • 0
    Я не имел в виду, что TWebBrowser был подключаемым интерфейсом. Я полностью осознаю, что это IE
  • 1
    Я люблю ваши ссылки, однако, так как мой ранний поиск в Google по этому вопросу не дал ничего интересного :)
Показать ещё 5 комментариев
14

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

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

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

  • 0
    Спасибо за советы, Карлос. Просто небольшое одолжение: не могли бы вы добавить ссылку на те URL, которые вы упоминаете? У меня нет полномочий редактировать ваш ответ :) Спасибо.
  • 0
    Ссылки добавлены по запросу :)
3

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

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

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

3

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

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

  • 3
    Поскольку первоначальный автор PBear больше не может поддерживать код, мы переместили разработку по этому адресу : sourceforge.net/projects/htmlviewer
  • 0
    @PatrickvL: Программное обеспечение HtmlViewer все еще развивается?
Показать ещё 1 комментарий
2

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

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

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

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

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

  • 0
    Спасибо за чаевые. Выглядит довольно полезно!
  • 1
    Звучит захватывающе с Gecko 2.0! У вас есть веб-страница с дополнительной информацией? Может быть, дорожная карта и график выпусков и т. Д.
Показать ещё 2 комментария

Ещё вопросы

Сообщество Overcoder
Наверх
Меню