我正在努力控制 IDE 外部的一些项目选项,例如版本编号。如果我可以的话我可以做到这一点 (i) 在外部编译相关 RC 文件以创建 RES 文件并将其包含在 DPR 中,或 (ii) 将 RC 文件添加到项目中。
但是,仅通过向 DPR 添加 {$R 'dummy.res' 'dummy.rc' } 形式的行,我无法使其正常工作。当且仅当 RES 文件已经存在时,它才会编译/构建正常。我使用的是 XE6,但在 XE 甚至 Delphi 7 中也有相同的行为。
但是有很多答案表明,只需在 DPR 中添加这样一行就可以了。请问谁能解释一下吗?
最佳答案
我已经能够重现与您所描述的类似的内容。它可能与您的问题相同,也可能不同。
我创建了一个新项目,并将 .rc 文件与顶级项目文件放在一起。然后我将此行添加到项目文件中:
{$R myresource.res myresource.rc }
然后我编译并没有出现 .res 文件。然后我保存项目并重新编译,现在 .res 文件出现了。
分析完这一系列事件,我想我明白是怎么回事了。在保存项目之前,.dproj 文件中没有任何内容可以触发资源编译。保存项目时,这会出现在 .dproj 文件中:
<RcCompile Include="myresource.rc">
<Form>myresource.res</Form>
</RcCompile>
这很可能就是发生在你身上的事情。
我认为您最好使用 IDE 来管理资源或自己编译它们。例如,前者可以使用“项目”菜单上的“资源和图像”操作来完成。后者可以通过预构建操作来完成。
关于delphi - 直接将 RC 文件添加到 Delphi DPR,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27281551/