我的项目设置如下所示:
有多个运行时包。我没有使用设计时包。
每个运行时包都将其DCP、包和单元输出目录设置为
.\Library\$(Platform)\$(Config)
。我不会将它们输出到全局IDE位置以获得不同版本软件包的可安装性。
此外,每个包中都有一个预构建事件,该事件调用一个脚本文件,该脚本文件复制所有
dfm
将源文件夹中的文件发送到名为
.\Library\Dfm
。
为了构建依赖的包和可执行文件,我添加了
dfm公司
以及其他文件到每个依赖项的本地搜索路径,例如:
..\Package1\Library\$(Platform)\$(Config)
..\Package1\Library\Dfm
..\Package2\Library\$(Platform)\$(Config)
..\Package2\Library\Dfm
..\Package3\Library\$(Platform)\$(Config)
..\Package3\Library\Dfm
从技术上讲,我只需要将Dfm目录添加到最终的可执行文件搜索路径,因为
dfm公司
文件链接到PE可执行文件资源部分。
不过,为每个包提供两条路径似乎是一个不必要的额外步骤。
所以我在问:有没有可能将
dfm公司
将文件放入
bpl
每个包的文件,而不是最终的可执行文件?
我自己能想到的一个问题是,这只有在为可执行文件启用运行时包时才起作用,因为编译器无法从
bpl公司
s到
exe
否则
即使在原则上
dfm公司
与可执行文件不同的模块中的资源?