Есть ли техническая причина не использовать TWebBrowser в Delphi для просмотра Google Earth?

Я надеюсь, что это не будет удалено как субъективное. Единственной субъективной частью может быть то, что 1) Мой Delphi лучше, чем мой PHP, и 2) я предпочитаю скомпилированные интерпретируемые языки программирования.

однако фактический (несубъективный) вопрос: если я выберу Delphi и использую TWebBrowser (или аналогичный механизм) для просмотра/управления Google Earth, буду ли я каким-либо образом ограничивать доступную функциональность?

есть ли некоторые вещи, которые я могу сделать только " в браузере" что я не могу сделать "в компоненте браузера VCL"?

[Update] я забыл сказать, что 1) мне комфортно только с Windows и, 2) функциональность Google Earth-это только одна часть большего приложения (для меня легче реализовать это приложение как программу Delphi, чем что-то на основе браузера, но это снова звучит субъективно, поэтому я никогда не упоминал об этом. Я просто буду придерживаться "если я выберу Delphi и использую TWebBrowser, буду ли я каким-либо образом ограничивать доступную функциональность?"как вопрос, поскольку на него можно ответить.

3 ответов


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

на TWebBrowser обертывает окно браузера Internet Explorer и полагается на любую версию IE установлен. Все, что вы можете открыть в Интернете Проводник также можно открыть в TWebBrowser, Google Earth включены. Дело в том, чтобы указать на страницу и загрузить ее. Что касается технических причин, могут быть некоторые сбои здесь и там, но я не вижу, почему бы и нет.


есть ли некоторые вещи, которые я могу сделать только "в браузере", что я не могу сделать "в компоненте браузера VCL"?

короткий ответ заключается в том, что если вы знаете TWebBrowser (IE based) / DelphiChromiumEmbedded (Webkit) наизнанку вы не ограничены.

два основных браузера, о которых я знаю, основаны на twebbrowser / IE control -Avant Browser (написано на Delphi) и Новости (я использовал оба, и они служили мне очень хорошо, пока я полностью не переключился на FF) - никогда не было проблем с совместимостью с ними (по сравнению с приложением IE).

хорошей отправной точкой будет TEmbeddedWB - этот пакет обертывает интерфейс IWebBrowser и библиотеку управления (SHDOCVW.DLL), чтобы вы могли создать настраиваемое приложение для просмотра веб-страниц.

один очень важный вопрос, элемент управления веб-браузера имеет, что он использует IE 7 режим отображения по умолчанию. так и будет. необходимо указать режим рендеринга IE для собственного приложения (эту статью). Есть и другие проблемы, но большинство из них могут быть настроены и настроены через реестр FeatureControl ключи:

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


Да, есть One-Chromium Embedded Framework (CEF) - это гораздо более высокая производительность, чем IE, особенно в случае, когда ваш конечный пользователь использует более раннюю версию IE.

CEF основан на проекте Google с открытым исходным кодом Chromium.

Я использую CEF в LIVEditor (мой новый редактор Live html) и результат очень хороший!.

но обратите внимание, что вам придется распространять дополнительные файлы 20 MB при сжатии.