Delphi有时会在.dpr文件中的单元路径前面添加{$ R*.res}使用子句,然后在尝试编译时会收到重复的资源警告.
任何人都知道德尔福为什么这么做?我正在使用Delphi 2009但这种情况发生在Delphi 2007之后(也可能是2006年)
这取决于你对.dpr文件做了什么.Delphi期望以某种方式布置文件,如果您以内部IDE解析器无法正确查找某些内容的方式对其进行修改,则可能会猜错.最初,.dpr文件从未打算让用户随意修改,因此它可能会混淆.IFDEFS是最常见的罪魁祸首,可能会混淆IDE解析器.
也许发布你的.dpr有助于说明你的问题.我的项目文件看起来像这样,没有问题:
program Example; {$R *.res} uses Unit1 in 'Unit1.pas' {frmUnit1}; begin Application.Initialize; Application.CreateForm(TfrmUnit1, frmUnit1); Application.Run; end.
为什么Delphi向您添加这些“错误的” {$ R}和{$ R * .res}文本的问题隐藏在DPROJ文件中。只需使用文本编辑器打开DPROJ文件并搜索$ R * .res并删除以下标签:
更改为
现在,您将不会在项目中得到get脚的文本(直到下次IDE无法将此类内容添加到DPROJ文件中时为止)。