8

我确实希望这不会因为主观而被删除。唯一主观的部分可能是 1)我的 Delphi 比我的 PHP 好 2)我更喜欢编译到解释性编程语言。

但是,实际(非主观)问题是 - 如果我选择 Delphi 并使用 TWebBrowser(或类似机制)来查看/操作 Google 地球,我会以任何方式限制我的可用功能吗?

是否有一些我只能“在浏览器中”做而不能“在 VCL 浏览器组件中”做的事情?

[更新] 我忘了说 1)我只对 Windows 感到满意,2)谷歌地球功能只是一个更大的 APP 的一部分(对我来说,将该应用程序实现为 Delphi 程序比浏览器更容易)基于, 但这听起来又是主观的, 这就是为什么我从来没有提到它. 我会坚持“如果我选择 Delphi 并使用 TWebBrowser, 我会以任何方式限制我的可用功能吗?” 作为问题, 因为那可以得到答复。

4

3 回答 3

8

没有技术上的理由不使用TWebBrowser来显示地图或任何与此相关的东西。事实上,这是一个见仁见智的问题,你很可能已经听到人们的意见告诉你不要这样做。不幸的是,Stack Overflow 是一个问答网站,所以这样的问题不一定可行。

TWebBrowser包含一个 Internet Explorer 浏览器窗口,并依赖于安装的任何版本的 IE。您可以在 Internet Explorer 中打开的任何内容也可以在TWebBrowser包括 Google 地球在内的 中打开。只需将其指向一个页面并加载它。至于技术原因,这里和那里可能会有一些小故障,但我不明白为什么不这样做。

于 2012-07-04T07:58:02.370 回答
7

是否有一些我只能“在浏览器中”做而不能“在 VCL 浏览器组件中”做的事情?

简短的回答是,如果您完全了解 TWebBrowser(基于 IE)/ DelphiChromiumEmbedded(Webkit),则不受限制。

我知道的两个主要浏览器是基于 TWebBrowser/IE 控件的 - Avant Browser(用 Delphi 编写)和 Maxthon(我都使用过,它们对我的服务很好,直到我完全切换到 FF) - 从来没有任何兼容性问题与它们(与 IE 应用程序相比)。

TEmbeddedWB是一个很好的起点——这个包包装了 IWebBrowser 接口和控件库 (SHDOCVW.DLL),允许您创建自定义的 Web 浏览应用程序。

Web 浏览器控件有一个非常重要的问题,它默认使用IE 7呈现模式。因此您需要为自己的应用程序指定 IE 呈现模式(请参阅本文)。还有其他问题,但其中大多数可以通过注册表FeatureControl项进行配置和自定义:

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

于 2012-07-05T10:36:45.950 回答
2

是的,有一个 - Chromium Embedded Framework (CEF) 比 IE 具有更高的性能,尤其是在您的最终用户使用早期版本的 IE 的情况下。

CEF 基于谷歌的开源项目 Chromium。

我在LIVEditor(我的新实时 html 编辑器)中使用 CEF,结果非常非常好!

但请注意,压缩后您必须分发额外的 20 MB 文件。

于 2012-07-05T10:19:07.990 回答