由于与具有不同应用程序版本的客户相关的原因,我需要在笔记本电脑中维护多个版本的Delphi(7,XE 7,XE 8,XE 10.1 Berlin和XE 10.2 Tokyo)。我主要关注的是PATH变量和编译和链接时间之间的问题。会有什么问题吗?我需要改变什么吗?任何建议都是最受欢迎的。
答案 0 :(得分:7)
我将所有版本的Delphi从7到XE8安装在一个VM中,版本1到6到另一个(我的Delphi“博物馆”:))。
Delphi“博物馆”是一个 Windows XP 虚拟机,以避免旧版本的Delphi与更新的Windows版本存在的问题。 Delphi 7+ VM起初是 Windows 7 VM,但后来升级到 Windows 8.x ,然后 Windows 10 没有任何问题。
这两组VM以这种方式保持独立,以避免与旧版本的操作系统并发症,因为我只使用1-6,非常非常,而且经常使用版本7+。制作“截止”的精确版本取决于虚线单元名称也仅从版本7开始支持的事实,因此我为7+编写的许多代码甚至不能用于1- 6所以没有必要把它们放在一起。
在这两种情况下,IDE /编译器(任何版本)都没有与其他版本一起运行的内在问题。
唯一真正的困难是在 Windows Vista (或更高版本)上安装 Delphi 2006 。如果您需要,这是唯一一个由于依赖.NET而导致任何真正困难的问题,安装程序无法很好地处理。但只要你遵循the steps described in detail by Dr. Bob,它就是可行的而不是特别困难。
安装了大量Delphi版本后,PATH变量的总长度可能会成为一个问题,但根据我的经验,这只是一个可管理性的问题。为了简化这一点并避免在最新版本的Windows上使用早期版本的Delphi出现问题,我将所有IDE安装在根目录下的子文件夹中:
c:\delphi\<version>
其中version
是每个Delphi版本号(例如7.0,2007,2009,XE,XE2等)。然后我为共享组件提供了许多其他文件夹:
c:\delphi\bde
c:\delphi\database desktop
c:\delphi\shared files
当我设置VM时,我按顺序安装了每个Delphi版本,并将这些组件的安装位置更改为这些位置。通过这种方式,可以根据需要通过每个更新版本更新这些共享组件的一个常见安装。
我还有一个c:\delphi\common\
文件夹,我可以在所有Delphi版本中共享预编译的 FastMM_FullDebugMode.dll 等内容。
我做这一切主要是为了我自己的利益,但要保持组织和一致,而不是解决任何特定问题(除了前面提到的影响旧版本的问题,如果安装在程序文件下)
e.g。如果您只是安装到默认位置,那么您最终会在Borland,CodeGear和Embarcadero文件夹中“分散”版本。我所有的IDE版本都在一个地方。
无论是否考虑这些因素,IDE都应该非常乐意在不需要任何特定配置的情况下运行您提到的所有不同版本,但您可能需要注意某些第三方软件包/库所做的配置/假设。 / p>
大多数第三方图书馆/软件包通常都很好,但偶尔可能需要一些帮助。我自己从来没有遇到任何无法解决的问题,但不得不说我也没有特别广泛使用第三方库,所以根本不会遇到任何“麻烦制造者”。
无论如何,遗憾的是很难就这一点提出一般性建议,因为它显然很大程度上取决于第三方图书馆以及任何特定图书馆可能存在的特定“问题”。
答案 1 :(得分:2)
我在运行Windows 8.1 64位的计算机上安装了6到10.2版的所有Delphi版本。它设置起来并不容易,特别是对于旧版本。第一条规则是:不要安装到&#34; c:\ program files&#34;,使用一个单独的目录(我使用&#34; c:\ delphi&#34;每个版本都有一个数字子目录。) 这有两个影响:
为什么我不使用多个虚拟机?我为上述版本维护了GExperts,维护虚拟机太麻烦了。只要它有效,我会将所有Delphi版本保存在我的计算机上。如果它停止工作,我可能会删除GExperts支持某些Delphi版本。
有很多关于让旧的Delphi版本在Windows 8.1上运行的文章。如果您尝试它们可能会有用。 它们都属于Windows 8.1类别: