3

如何在 Delphi 或 C++Builder 中安装多个版本的库?例如,我可能希望能够使用当前版本的 JCL 和 JVCL 开发我们的应用程序的下一个版本,同时仍然能够使用为该版本测试过的任何版本的 JCL 和 JVCL 来编译我们的应用程序的发布版本。

使用像 Boost 这样的库很容易使用多个版本的库,因为这些只是头文件和库/DLL 文件,我可以将它们放在我想要的任何位置,因此我可以简单地将我的项目文件指向适当的库目录。但是,由于 JCL 和 JVCL 之类的库尝试将自己安装到 IDE 中,因此我不确定如何配置不同的项目以使用不同的版本,而不会变成无法管理的黑客行为。

(我仍然不完全熟悉 Delphi 如何管理组件和项目——我的大部分经验都是在 C++ 中——所以这可能是我的问题的一部分。)

4

1 回答 1

6

我们遇到了同样的问题,支持使用不同版本的组件编译的旧版本。我们的解决方案是/是使用 IDE 的“-r”命令行选项。使用此开关,可以(同时)使用不同的库路径和包。我们使用这种方法遇到的唯一问题是我们中的一些人经常尝试在错误的 IDE 实例中打开旧项目版本。

[Old version 1.0] bds.exe -rVersion1.0
[trunk version  ] bds.exe

如何设置这些:

  1. 按照您的习惯启动 IDE。
  2. 安装“1.0 版”所需的一切
  3. 关闭 IDE
  4. 安装所有(旧)包(JCL/JVCL/...)
  5. 启动 regedit.exe
  6. 将注册表项 HKCU\Software\CodeGear\BDS\5.0 导出到 *.reg 文件
  7. 启动 nodepad.exe 并在 *.reg 文件中搜索和替换“CodeGear\BDS\5.0”并将其替换为“CodeGear\Version1.0\5.0”
  8. 导入 *.reg 文件(在 Windows 资源管理器中双击它)
  9. 创建 RAD Studio 2007 开始菜单链接的副本并更改命令行以包含“-rVersion1.0”键。

现在您有两个相同的 IDE 配置。您现在可以将不使用“-r”命令选项的 IDE 更改为您的主干版本的软件包。当你安装所有的包时,你不能使用默认的 BPL 和 DCP 目录,除非不同的包版本使用不同的文件名(像 JCL 和 JVCL 一样)。

CodeGear\BDS\5.0 = Delphi 2007
CodeGear\BDS\6.0 = Delphi 2009
Borland\BDS\4.0 = Delphi 2006
Borland\Delphi\7.0 = Delphi 7
于 2009-06-15T20:03:30.683 回答