继续支持不同版本的软件,每个版本都使用不同的Delphi或组件版本构建

时间:2010-10-05 13:31:20

标签: delphi ide

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

  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èressbuild 53 - TeeChart 2010

  5. (当然这是一个例子)

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

    还能做些什么?通常需要维护旧版本以用于bux修复,而不是用于新开发。

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

5 个答案:

答案 0 :(得分:2)

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

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

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

答案 1 :(得分:2)

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

见:

答案 2 :(得分:2)

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

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

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

答案 3 :(得分:1)

技术上可以在一台计算机上使用多个Delphi版本。但它只占用了大量的磁盘空间。您需要确保每个版本都查看它自己的组件库和项目的文件夹设置。所以你可以保持所有安装。 (只需按照与版本相同的顺序安装它们,因此首先是Delphi 7,然后是2005年,最后是2009年。)目前,我已将2005和Delphi XE安装在单个系统上,没有任何冲突。只要每个Delphi版本都有自己的一组文件夹,包含第三方组件和其他东西。 (虽然像GExperts这样的几个加载项适用于任何已安装的Delphi版本。)
你有什么理由不想在一台计算机上使用这三个版本吗?

答案 4 :(得分:0)

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

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

- 的Jeroen