【问题标题】:Delphi 2010 or 2007 for upgrading Delphi 3 project?Delphi 2010 或 2007 用于升级 Delphi 3 项目?
【发布时间】:2010-12-10 17:27:31
【问题描述】:

我刚刚收到一项任务,将我在 1999 年编写的旧 Delphi 3 项目升级到新版本并添加功能(我之前在相关问题 herehere 中讨论过这个问题)。我假设适当的途径是首先将我的开发环境升级到 Delphi 2010,然后移植应用程序。

我现在正在考虑是否将应用程序升级到我现有的 Delphi 2007 副本,以避免 Unicode 复杂性。该应用程序在美国的一家公司运行,并且与单一州的要求紧密相关,因此它不会从 Unicode 支持中受益。

我的问题是:处理 Unicode 问题的额外麻烦是否会超过使用最新版本的 Delphi 的好处?你可能会认为我没有使用 Unicode 的经验。

【问题讨论】:

  • 那么你最后做了什么?转化进行得如何?
  • 我升级到2010,升级了大部分组件,把没升级的都淘汰了。我几乎没有(如果有的话)与 Unicode 相关的问题。升级非常成功,客户对新功能非常满意。

标签: delphi unicode delphi-2010 delphi-2007


【解决方案1】:

为什么要“升级”到不是最新的版本,它只是保证更早的“下一次升级”。 我对 Delphi 2010 非常满意,我建议移植到该版本,除非您使用 D2010 不可用的第 3 方库

【讨论】:

    【解决方案2】:

    您应该在 D2010 试用版中尝试(升级),并给自己一天左右的时间来了解导致的并发症类型。通常,如果您没有使用大量 PChar 进行指针运算,并且您没有使用字符串的子范围,例如Code[1] := 'A' 等等,应该很少或没有升级问题。除了 unicode 升级之外,D2010 IDE 更好用,而且似乎比 D2007 更快。

    【讨论】:

      【解决方案3】:

      他们在 Delphi 2009 中很好地实现了 Unicode,以至于大多数不使用字符和字节的技巧的程序都可以毫无问题地转换过来。

      需要注意的是,只要您不使用任何第 3 方软件包。如果你是,你应该升级那些。如果他们没有升级并且您没有他们的源代码,那么您最好不要去 Delphi 2010。

      但如果可能的话,我会跳下去。我做到了,我很高兴我做到了。

      【讨论】:

      • 我正在使用大量的第三方软件包(DBISAM、WPTools、TMS Planner),但它们都有 2010 年的新版本,大概 2007 年也有。
      • 那么问题是升级它们需要花费多少(美元和时间)。如果你只去 2007 年,可能没必要升级它们。
      • 不,无论如何我都需要升级它们,我只有 Delphi 3 版本。唯一的成本差异是 Delphi 产品本身,但我很乐意购买(根据我上一个问题中的讨论,在专业 SKU 处购买)。
      • 而且,与我需要的其他产品相比,Delphi 本身的成本相形见绌。
      • 那么在我看来您应该升级到 Delphi 2010。您会喜欢所有新功能。我特别喜欢 Shift-Ctrl-V 在编写代码时动态声明变量的简单性。仅此一项就为我节省了几个小时。无论如何,您总有一天会想要升级。那么为什么要做两次,到 2007 年,然后在几年内到 2012 年。它“可能”带您让它与(或尽管如此)Unicode 一起工作的一点额外工作是值得的。
      【解决方案4】:

      D2007 可能更容易升级,因为您可能不需要更改代码即可使用 Unicode,如果您的代码不需要大量 PChar 和其他 ANSI 专用函数,它可能在 Delphi2010 中无需很多工作。

      但如果您有时间和资源升级到 Delphi 2010,这将是更好的选择,因为 Delphi 2009 和更高版本迟早会成为标准版本。

      此外,D2010 中的 IDE 生产力更高,除了新的语言添加,如泛型、匿名方法和其他使您的代码更好的东西,如果您要重写它的某些部分。

      【讨论】:

        【解决方案5】:

        “这取决于”

        这取决于第 3 方控件的数量以及这些控件的当前状态。 (2007 年和 2010 年的更新是否仍在市场上?)

        这取决于代码大小和代码质量。如果您拥有庞大且管理松散的代码库,那么通往 2010 年的道路将更加艰难。

        它还(很大程度上)取决于项目的输入/输出...您是从文件/数据库/通信中读取吗?他们将如何对 Unicode 做出反应,或者您能否轻松缩小所有这些接触点以确保正确处理?

        另一个主要依赖关系是应用程序的生命周期...如果您要长期支持此应用程序,“Going Unicode”现在可能会为您提供更好的服务,因为最终他们将在 2007 年停止销售,您将成为强行进入。

        我拥有 2009 并用它构建了一些小应用程序/实用程序,但主要工作仍在 2007、2006、D7 和 D5 中,具体取决于项目。

        【讨论】:

        • 许多第三方应用程序,所有这些都已更新并且仍然可用。这是一个使用 DBISAM 的数据库应用程序,数据库本身不应该迁移到 Unicode,除非这是不可避免的(我对此表示怀疑)。代码库真的很糟糕,我可以说是我自己编写的——我很高兴做这项工作只是为了改进现有代码。该应用程序预计将继续服务至少十年,尽管可能没有重大变化(过去八年直到现在都没有)。
        【解决方案6】:

        here。来到 D2010 时可能会混淆。

        【讨论】:

          猜你喜欢
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 2011-05-28
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          相关资源
          最近更新 更多