dfm 文件可以链接到 bpl 文件吗?
Can dfm files be linked into bpl files?
我的项目设置如下所示:
有多个运行时包。我没有使用设计时包。
每个运行时包都将其 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
文件被 linked 到 PE 可执行文件资源部分。
为每个包设置两条路径似乎仍然是一个不必要的额外步骤。
所以我想问:是否可以将 link dfm
文件放入每个包的 bpl
文件而不是最终的可执行文件中?
我自己能想到的一个问题是,这只有在为可执行文件启用运行时包时才有效,因为编译器无法将资源从 bpl
移动到 exe
不然呢?!
原则上是否可以将 dfm
资源放在与可执行文件不同的模块中?
在启用运行时包的情况下编译可执行文件时,编译器不需要访问包内表单的 dfm
文件。
它们确实链接到 bpl
文件中。
在禁用运行时包进行编译时,编译器会抱怨缺少 dfm
文件。所以它显然不能从编译包文件中提取资源(bpl
)。
我的项目设置如下所示:
有多个运行时包。我没有使用设计时包。
每个运行时包都将其 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
文件被 linked 到 PE 可执行文件资源部分。
为每个包设置两条路径似乎仍然是一个不必要的额外步骤。
所以我想问:是否可以将 link dfm
文件放入每个包的 bpl
文件而不是最终的可执行文件中?
我自己能想到的一个问题是,这只有在为可执行文件启用运行时包时才有效,因为编译器无法将资源从 bpl
移动到 exe
不然呢?!
原则上是否可以将 dfm
资源放在与可执行文件不同的模块中?
在启用运行时包的情况下编译可执行文件时,编译器不需要访问包内表单的 dfm
文件。
它们确实链接到 bpl
文件中。
在禁用运行时包进行编译时,编译器会抱怨缺少 dfm
文件。所以它显然不能从编译包文件中提取资源(bpl
)。