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

StackOverflow https://stackoverflow.com/questions/162718

Вопрос

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

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

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

Решение

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

Другие советы

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

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

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

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

Ну, есть элемент управления ActiveX, основанный на движке Gecko, который пытается представить точную копию IWebBrowser API (который использует 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.

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

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

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

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

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

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top