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

发布于 2024-07-23 12:38:24 字数 389 浏览 5 评论 0原文

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

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

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

How I can install multiple versions of a library in Delphi or C++Builder? For example, I might want to be able to develop the next version of our app using the current versions of JCL and JVCL while still being able to compile the release version of our app using whatever version of JCL and JVCL were tested for that release.

Using more than one version of a library is easy with libraries like Boost, since those are just header files and library / DLL files that I can put wherever I want, and so I can simply point my project files at the appropriate library directories. However, since libraries like JCL and JVCL try to install themselves into the IDE, I'm not sure how to configure different projects to use different versions without it turning into an unmanageable hack.

(I'm still not entirely familiar with how Delphi manages components and projects - most of my experience is in C++ - so this may be part of my problem.)

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

桃酥萝莉 2024-07-30 12:38:25

我们遇到了同样的问题,支持使用不同版本的组件编译的旧版本。 我们的解决方案是使用 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

We had the same problem, supporting older versions compiled with different versions of the components. Our solution was/is to use the IDE's " -r " command line option. With this switch it is possible to use different library paths and packages (at the same time). The only problem that we encountered with this approach was that some of us regularly tried to open an older project version in the wrong IDE instance.

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

How to setup those:

  1. Start your IDE as you are used to it.
  2. Install everything you need for "Version 1.0"
  3. Close the IDE
  4. Install all (old) packages (JCL/JVCL/...)
  5. Start regedit.exe
  6. Export the registry key HKCU\Software\CodeGear\BDS\5.0 to a *.reg file
  7. Start nodepad.exe and do a search&replace in the *.reg file for "CodeGear\BDS\5.0" and replace it with "CodeGear\Version1.0\5.0"
  8. Import the *.reg file (by double clicking it in the Windows Explorer)
  9. Create a copy of your RAD Studio 2007 startmenu link and change the command line to include the "-rVersion1.0" key.

Now you have two IDE configurations that are equal. You can now change the IDE that doesn't use the " -r " command option to your trunk version's packages.
When you install all the packages, you must not use the default BPL and DCP directories unless the different package versions use different file names (like the JCL and JVCL do).

CodeGear\BDS\5.0 = Delphi 2007
CodeGear\BDS\6.0 = Delphi 2009
Borland\BDS\4.0 = Delphi 2006
Borland\Delphi\7.0 = Delphi 7
~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文