【问题标题】:Keep supporting different versions of software each one built with different Delphi or component versions继续支持不同版本的软件,每一个都使用不同的 Delphi 或组件版本构建
【发布时间】:2010-10-05 13:31:20
【问题描述】:

我需要维护一个软件的不同版本,问题是这样的:

  1. v 1.0 - Delphi 7 - DevExpress build 20 - TeeChart 5

  2. v 2.0 - Delphi 2005 - DevExpress build 40 - TeeChart 7

  3. v 2.1 - Delphi 2009 - DevExpress build 52 - TeeChart 8

  4. v 3.0 - Delphi 2009 - DevExèress build 53 - TeeChart 2010

(当然这是一个例子)

您建议什么解决方案?我现在所做的是使用虚拟机并拍摄快照,无论如何这意味着实际上每个软件版本都有一个 Windows 版本。

还有什么可以做的?通常需要维护旧版本只是为了修复BUX,而不是为了新的开发。

我添加了(4),这是一个额外的问题,用不同版本的组件维护相同的 Delphi 版本。似乎虚拟机快照仍然是最方便的工作方式,没有太多妥协。当然,问题在于 3rd 方库的复杂性,而不是 Delphi 本身。

【问题讨论】:

    标签: delphi ide


    【解决方案1】:

    就我个人而言,我认为您已经在使用最适合您的虚拟机的解决方案。

    不过,在我开始为我的项目使用不同的 VM 之前,我使用了 Delphi "-r" command line switch 在同一个 IDE 下为不同的项目加载不同的组件集。

    还有一个工具Jed's Configuration Manager 可以简化此操作。

    【讨论】:

    • 好吧,我还是用VM吧,顺便说一句,它们很方便,因为它们省去了很多麻烦......
    【解决方案2】:

    如果您不需要在旧版本的应用中做太多的视觉设计,您可以使用我们的方法:

    • 我们有多个 DX 安装:当前的一个加上我们仍然需要的旧的。只有当前的安装正确,即 IDE 只“知道”当前的。
    • 在您项目的当前版本中,我们使用当前的 DX 安装(就像在新项目中一样)。
    • 对于旧版本,我们使用适当的副本,即将项目搜索路径指向旧副本之一。这意味着IDE和我们的源代码使用不同版本的DX!然而,这对我们来说从来都不是什么大问题,因为我们不需要在旧版本的应用上做太多的视觉设计。

    如果您在旧版本之一中直观地编辑带有 DX 组件的表单,IDE 将输出与当前安装的 DX 版本相对应的 DFM,该版本不是您的旧应用程序使用的版本。在这种情况下,我将在编辑前后对 DFM 进行文本比较,并检查是否有任何问题。如果是这样,只需使用文本编辑器修复 borken DFM。

    【讨论】:

      【解决方案3】:

      我通常使用 JVCL 工具来清除在较新的 TCharts 中添加的属性,并且效果很好。 (混合 D7 - TD2006 - D2007 - D2009 - Delphi XE)。

      见:

      【讨论】:

      • 感谢您提供有趣的链接。
      【解决方案4】:

      在一台计算机上使用多个 Delphi 版本在技术上是可行的。但是,它只会占用大量磁盘空间。并且您需要确保每个版本都查看它自己的组件库和项目的文件夹设置。所以你可以让它们全部安装。 (只需按照与版本相同的顺序安装它们,首先是 Delphi 7,然后是 2005,最后是 2009。)
      现在,我在一个系统上安装了 2005 和 Delphi XE,没有任何冲突。只要每个 Delphi 版本都有自己的一组包含第三方组件和其他东西的文件夹。 (尽管 GExperts 等几个插件适用于任何已安装的 Delphi 版本。)
      有什么理由不希望在一台计算机上安装这三个版本?

      【讨论】:

      • 原因是我在问题中添加的第 (4) 点:2 个版本使用相同的 IDE 版本,但组件不同。
      • 太糟糕了 Delphi 不允许在一个系统上安装两次。 :-) 建议:使用所有旧项目创建一个虚拟机,并在当前系统上只保留最新的一个。还要记住,您的旧项目可能只适用于其组件的较新版本。所以 v2.1 和 v3.0 可能都使用相同的组件集。升级这些项目的组件会不会不好?
      【解决方案5】:

      要维护相同Delphi版本的不同库集,可以使用-r参数切换Delphi使用的“注册表根”。

      This blog posting 展示了如何做到这一点。

      --杰罗恩

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2023-04-04
        • 2021-07-22
        • 1970-01-01
        • 1970-01-01
        • 2011-01-09
        • 2013-04-02
        • 1970-01-01
        • 2010-09-09
        相关资源
        最近更新 更多