【问题标题】:How to automatically copy resources to the DCU output folder如何自动将资源复制到 DCU 输出文件夹
【发布时间】:2010-02-16 21:47:15
【问题描述】:

我想知道,有没有办法让IDE/Compiler/other 自动将所有需要与DCU链接的资源复制到DCU的输出文件夹中。

我经常使用我预编译的表单,以避免在我的主要项目中一直需要重新编译单元。 DCU 已更新,但每次更改时我们都需要手动复制 DFM。指定的任何 {$R *.res} 也是如此。 也许我们可以将这些文件直接保存在 DCU 文件夹中......但是将 .DFM 放在与 .PAS 不同的文件夹中并不完全有意义

我寻找一个编译器开关可以做到这一点......不成功。

有人知道它是否/如何实现吗?

我使用的是 Delphi 2010

【问题讨论】:

    标签: delphi delphi-2010


    【解决方案1】:

    您可以创建一个简单的 Post Build 事件来执行复制。这样,每当您进行构建时,系统都会为您复制必要的文件。构建事件可从 Project Options 菜单中获得,有一个 Pre-build 和一个 Post-Build 脚本。

    【讨论】:

    • 好吧,如果你有一个基于 MSBUILD 的版本(D2007+?),那就是。
    • 我还没有修改这些事件。我考虑过,但我是否正确假设对于每个 {$R MyFile.res} 我都需要手动将其添加到脚本中......或者有没有办法可以枚举脚本中的所有 $R 文件?
    • 您可以轻松创建一个您调用的批处理文件,将“*.RES”从源目录复制到目标目录,然后从事件中调用批处理文件。
    【解决方案2】:

    对于 *.res 文件,您可以在“项目选项 | 资源编译器 | 目录和条件 | .res 文件的输出目录”中指定输出路径

    但对于 *.DFM 文件,您必须使用 skamradt 的建议(构建后事件)。

    【讨论】:

    • 该选项似乎不起作用。我猜它只适用于 Delphi 创建的 *.res 而不是源代码中链接的那些。我正在使用由第 3 方应用程序创建的 *.res 文件为我的应用程序制作位图资源,并且它们不会在构建时复制到该目录中。
    猜你喜欢
    • 2013-04-06
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2016-07-14
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多