多个版本的Delphi

4

由于需要处理不同应用程序版本的客户需求,我需要在我的笔记本电脑上维护多个Delphi版本(7、XE 7、XE 8、XE 10.1 Berlin和XE 10.2 Tokyo)。我最关心的是路径变量以及在编译和链接时出现的问题。这会有任何问题吗?我需要改变什么吗?欢迎任何建议。


2
我在同一台机器上同时拥有7和XE8,没有问题。不知道不同的XE版本是否会出问题。但是总有VMWare可以解决这个问题。 - GuidoG
8
请将您的PATH环境变量中所有与Delphi相关的引用移除。这是我的工作方式。我安装了多个Delphi版本。当我需要使用命令行构建环境时,我会使用相应版本的rsvars.bat文件。这会设置必要的环境。 - David Heffernan
1
为每个版本创建批处理文件并清理您的路径。在您的批处理文件中调整路径并启动Delphi版本。 - Fritzw
2
删除您的环境中所有关于 Delphi 的引用。然后执行 rsvars.bat,一切都会很好。 - David Heffernan
短文件名是解决路径过长问题的方案。 - Free Consulting
显示剩余5条评论
2个回答

7
我在一个虚拟机中安装了从7到XE8的所有Delphi版本,另一个虚拟机中安装了1到6版本(我的Delphi“博物馆”:)。

Delphi“博物馆”是一个Windows XP虚拟机,以避免这些旧版本的Delphi与更近期的Windows版本存在的问题。 Delphi 7+虚拟机最初是作为Windows 7虚拟机启动的,但后来已经升级到Windows 8.x,然后是Windows 10,没有任何问题。

这两组虚拟机被分开保持,以避免这些旧版本的操作系统复杂性,并且因为我很少使用1-6版本,而更经常使用7+版本。切换版本的确切位置是由于点分单位名称也仅从7版开始支持,因此我编写的大量7+代码甚至不能与1-6一起使用,因此没有必要将它们并排放置。

在这两种情况下,IDE /编译器(任何版本)与其他版本一起运行没有固有的问题。

唯一真正的困难是在Windows Vista(或更高版本)上安装Delphi 2006。如果您需要这样做,由于依赖于.NET的安装程序处理不好,这是唯一一个会带来实际困难的版本。但只要按照Dr. Bob详细描述的步骤操作,就可以完成而且并不特别困难。
安装位置:最小化路径长度/可管理性
当安装了大量Delphi版本时,PATH变量的总长度可能成为问题,但我个人经验认为这只是一个可管理性的问题。为了简化这方面的事情并避免早期版本的Delphi在较新版本的Windows上出现问题,我将所有IDE都安装在根目录下的一个子文件夹中。
c:\delphi\<version>

其中version是每个Delphi版本号(例如7.0、2007、2009、XE、XE2等)。然后我还有一些用于共享组件的其他文件夹:

c:\delphi\bde
c:\delphi\database desktop
c:\delphi\shared files

当我设置虚拟机时,我按顺序安装了每个 Delphi 版本,并将这些组件的安装位置更改为这些位置。通过这种方式,这些共享组件有一个通用安装程序,每个更新版本根据需要进行更新。
我还有一个文件夹,其中包含预编译的FastMM_FullDebugMode.dll等文件,可在所有 Delphi 版本之间共享。
我主要是为了自己的利益而做到这一点,以保持组织和一致性,而不是解决任何特定问题(除了先前提到的在Program Files下安装旧版本时出现的问题)。
例如,如果您只是安装默认位置,则会在 Borland、CodeGear 和 Embarcadero 文件夹中分散版本。我的所有 IDE 版本都在一个地方。
无论是否考虑这些问题,IDE 都应该可以愉快地运行您提到的所有不同版本,无需任何特殊配置,但您可能需要注意某些第三方软件包/库所做的配置/假设。
第三方软件包
大多数第三方库/包通常都很好,但偶尔会有需要一些帮助的库。我自己从未遇到过无法解决的问题,但必须说我也没有特别广泛地使用第三方库,因此可能没有遇到任何“麻烦制造者”。
无论如何,对于这一点很难给出一般性建议,因为它显然非常依赖于第三方库和任何一个特定库可能存在的特定“问题”。

2
我在运行Windows 8.1 64位的计算机上安装了从6到10.2的所有Delphi版本。这并不容易设置,特别是对于旧版本来说。第一条规则是:不要安装到“c:\program files”,使用一个单独的目录(我使用“c:\delphi”,每个版本都有一个数字子目录)。
这有两个效果:
  • 较旧的版本仍会写入安装目录,因此可以正常工作。
  • 路径条目不会太长(尽管,在第5或第6个Delphi安装后它们将变得太长,请参阅您问题的评论以获取可能的解决方案)
为什么我没有使用多个虚拟机?我维护上述版本的GExperts,维护虚拟机太麻烦了。只要它能正常工作,我就会在我的计算机上保留所有Delphi版本。如果它停止工作,我可能会放弃某些Delphi版本的GExperts支持。
有多篇文章介绍如何让旧版Delphi在Windows 8.1上工作。如果您尝试,它们可能会有用。它们都属于Windows 8.1类别。

https://blog.dummzeuch.de/category/windows/windows-8-1/


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接