我应该使用哪个 Delphi 版本?

Which Delphi version should I use?

我正在开始一个新项目,我想将 Delphi 用于桌面 GUI。我主要用它来做典型的 client/server 事情(可能是用 Firebird)。我有 Delphi XE6 pro,以及它附带的旧版本。这些是我的一些比较灵活的要求:

  1. 该应用程序应该在 Linux 和 OSX 上运行,由 运行 在 Wine 之上。 (这令人困惑,所以我改写了它)
  2. 该应用程序应该可以在 Windows XP 上运行。
  3. 我想我将使用开源 VirtualTreeView 和 Turbopower GUI 组件。或者我可以考虑我拥有的 Devex 的旧版本,它正式与 XE 一起使用,但可能(我不知道)非正式地在更高版本上工作?

这个项目不会立即产生收入,所以我宁愿不购买更新版本的 Devex(我目前正在等待一些新工作开始,但不能保证它真的会)。另外,我读到 XE6 可以与 XP 一起使用,即使它没有得到官方支持: http://blog.marcocantu.com/blog/2014_april_xe6avaialble.html 但我仍然对这个想法不太满意,因为 Embarcadero 并没有实际测试它。第 3 方支持也可能是个问题。

您的问题归结为最新版本是否创建可执行文件 运行 在 XP 上,然后在您的目标 Wine 版本上。

主要取决于您调用的函数。如果您调用 XP 中不存在的函数,那么您的程序将不会在 XP 上 运行。

来自 XE7 的普通 VCL 应用程序将 运行 用于 XP。重要的是你所做的事情。简单地说,你必须要小心,并进行大量测试。

我的大型应用程序仍然 运行 在 XP 上运行,并且是使用 XE7 构建的。所以这是完全可能的。正如 Marco 在他的评论中所说,Embarcadero 尚未积极更改 VCL 以使其在 XP 上中断。但他们不再在 XP 上进行测试。

就我个人而言,我会尽快使用更高版本,以便我可以访问泛型。我知道 XE 有泛型,但实现仍然有点问题。