gpt4 book ai didi

delphi - 创建安装程序时如何确保从设计时包中正确定义 Delphi 运行时包的 'requires'

转载 作者:行者123 更新时间:2023-12-03 18:16:55 25 4
gpt4 key购买 nike

我正在为目前没有的组件创建一个安装程序(例如优秀的 SynEdit 编辑器库),这也让我比以前更好地理解设计和运行时包。

我想确保最干净的部署,所以我知道许多单元将进入运行时包,我可能会及时使用“使用运行时包构建”进行部署,这样就很好了。但是,设计时包通常需要运行时包,这就是我遇到麻烦的地方。通常我会创建一个项目组,其中包含运行时包项目 (xxx-RXE),然后是设计时包项目 (xxx-DXE)。全部构建,一切都很好。我在我自己的库路径和 install the design-time package into the IDE using the registry 中以 BPL、DCP 和 DCU 形式部署这两个包。 .然后将库路径添加到环境设置中。当我打开 Delphi(对于 D7 和 XE 都是如此)时,我得到“无法加载包 XXXX-DXE,找不到库包 xxx-RXE.bpl”。如果我通过修改设计时包以从“requires”中删除 xxx-RXE.dcp 并直接用单位替换它来作弊,一切都很好。

我尽量避免将任何东西插入 Delphi 文件夹,所以我的项目结构是这样的(只显示 XE,D7 类似)。这些包被设置为输出单位,bpl 和 dcp 到“..\Library\Delphi15”,所有包都被赋予一个“..\Source”的搜索路径,设计时包一个额外的搜索路径“..\Library”\Delphi15”(找到它需要的运行时包)。

\Root
\Packages
xxx.groupproj
xxx-RXE.dpk
xxx-DXE.dpk
\Library
\Delphi15
(output of all dcus, dcp's, bpl's etc. Manually added *.res, *.inc and *.dfm's).
\Source
(The original project source files as used by the packages).

以上文件夹均未被 Delphi 使用,在我的安装程序创建以下部署文件夹之前,我不会对 Delphi IDE 执行任何操作:

c:\Program Files\xxx\Library\Delphi15

(包含所有BPL、DCP、DCU等,也就是放入环境库路径的路径)

所以我不清楚的是,如果所有文件都在那个文件夹中并且有路径,为什么 delphi 看不到它们?

感谢您的帮助。

最佳答案

只是阅读“无法加载包 XXXX-DXE,找不到库包 xxx-RXE.bpl”引发了不好的记忆。当包含 DCP(和/或 BPL?)的路径不包含在 Windows 环境变量 PATH 中时,通常会出现此错误。

当已安装的包引用另一个包时,此引用包的正常“Windows 库搜索行为”将启动(在 Delphi 启动时)。 此时没有事件的 Delphi 路径配置。因此,您的安装程序还需要修改 PATH 环境变量(或将文件复制到某个已包含的位置)。

关于delphi - 创建安装程序时如何确保从设计时包中正确定义 Delphi 运行时包的 'requires',我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6896711/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com