2010-02-16 86 views
6

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

我经常使用的表格,我预编译,以避免需要重新编译我的主要项目的单位。 DCU得到更新,但我们需要在每次更改时手动复制DFM。指定的任何{$ R * .res}也一样。 也许我们可以保持直接在DCU文件夹中的文件...但并不完全意义的具有.DFM在不同的文件夹一个.PAS

我找了一个编译器开关,将做到这一点......没有意思。

任何人都知道是否/如何实现?

我正在使用Delphi 2010

回答

5

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

+0

那么,如果你有一个基于MSBUILD的版本(D2007 +?),那就是。 –

+0

我没有叮with这些事件。我想过,但是我认为对于每个{$ R MyFile.res}我都需要手动将其添加到脚本中......或者是否有方法可以枚举脚本中的所有$ R文件? –

+0

您可以轻松地创建一个批处理文件,将您的源目录中的副本“* .RES”调用到目标目录,然后从该事件调用批处理文件。 – skamradt

3

对于* .RES文件,您可以指定输出路径“工程选项|为.RES文件输出目录资源编译器| |目录和条件”

但对于* .DFM文件必须使用skamradt的建议( Post Build事件)。

+1

该选项似乎不起作用。我想它只适用于由Delphi创建的* .res,而不是在源代码中链接的.res。我使用由第三方应用程序创建的* .res文件为我的应用程序创建位图资源,并且它们不会在构建时在该目录中复制。 –

相关问题