在Delphi/C++ Builder中安装多个库版本

Jos*_*ley 3 delphi c++builder configuration-management

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

使用Boost等库可以轻松使用多个版本的库,因为这些只是我可以放在任何地方的头文件和库/ DLL文件,因此我可以简单地将项目文件指向相应的库目录.然而,由于像JCL和JVCL库试图把自己安装到IDE中,我不知道如何配置不同的项目使用不同的版本,没有它变成一个无法破解.

(我还不完全熟悉Delphi如何管理组件和项目 - 我的大多数经验都是用C++编写的 - 所以这可能是我问题的一部分.)

And*_*den 6

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

[Old version 1.0] bds.exe -rVersion1.0
[trunk version  ] bds.exe
Run Code Online (Sandbox Code Playgroud)

如何设置:

  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 startmenu链接的副本,并更改​​命令行以包含"-rVersion1.0"密钥.

现在您有两个相同的IDE配置.您现在可以将不使用"-r"命令选项的IDE更改为trunk版本的软件包.安装所有软件包时,除非不同的软件包版本使用不同的文件名(如JCL和JVCL),否则不得使用默认的BPL和DCP目录.

CodeGear\BDS\5.0 = Delphi 2007
CodeGear\BDS\6.0 = Delphi 2009
Borland\BDS\4.0 = Delphi 2006
Borland\Delphi\7.0 = Delphi 7
Run Code Online (Sandbox Code Playgroud)