2011-12-21 37 views
17

在Delphi XE2中链接我的项目时出现以下错误。重新创建.dproj文件没有帮助。DCC提示:H2161警告:重复资源:类型24(用户定义),ID 1;文件资源...保存;文件... WindowsXP.res资源丢弃

[DCC Hint] H2161 Warning: Duplicate resource: Type 24 (user-defined), ID 1; File resource <filename>.res kept; file c:\program files\embarcadero\rad studio\9.0\lib\Win32\release\WindowsXP.res resource discarded.

如何解决呢?谢谢您的帮助!

+0

请注意:至少从D2010起(可能D2009起),IDE缓存有时会妨碍您的工作,并且您可能会在编译时收到重复的资源警告。做一个建设,他们走了。所以现在每当我看到一个重复的资源警告时,我首先会做一个构建,并且只有在没有清除时才会开始搜索。 – 2011-12-22 09:40:28

回答

19

你有多个应用程序清单链接到应用程序。只能有一个,所以有些必须被丢弃。现代Delphi版本默认基于“运行时主题”项目选项链接一个清单。您可能有另一个清单链接,也许可以追溯到您在早期版本的Delphi中开发项目时的情况。你有没有使用TXPManifest组件?

您可以删除您明确链接的清单。或者,您可以禁用运行时主题设置并保留显式清单。后一种方式是控制清单。就我个人而言,这是因为我确实需要控制清单中的内容。

+0

谢谢。但没有选择任何运行时主题。我试图删除主窗体上的一个XPManifest - 错误仍然存​​在:( – Dmitry 2011-12-21 22:32:32

+0

必须有另一个清单在某处!这是一个搜索它的问题。 – 2011-12-21 22:35:00

+0

按字符串搜索'TXPManifest'不显示所有组件和文件的结果 – Dmitry 2011-12-21 22:41:40

-2

从项目源中删除{$R *.res}有帮助。 Delphi XE2中限制{$R *.res}

+0

这听起来不像答案。如果你想影响主应用程序资源,你最好在项目选项中使用运行时主题选项。按照rob的建议寻找xpman单元。 – 2011-12-21 22:49:13

+0

删除{$ R *。如果您在自定义RC/RES文件中包含清单,res}可能具有“好像解决了”的效果。最好从自定义RES文件中删除清单,而不是删除整个RES引用。 – 2015-02-06 00:51:00

6

我有同样的问题,并通过谷歌抵达此页面。

从使用条款中删除XPMan固定它。

通过搜索词“xpman”中的“查找文件”找到罪魁祸首。感谢Rob Kennedy在David的回答中提出这个建议。

+0

与德尔福东京的样品一样。他们在用途列表中有XPMan;如果您取消选中“启用运行时主题”,则会重新检查您的身份;-) – 2017-09-19 06:46:55