DCC提示:H2161警告:重复资源:类型24(用户定义),ID 1; 文件资源......保存; 文件...\WindowsXP.res资源被丢弃

Dmi*_*try 18 delphi delphi-xe2

在Delphi XE2中链接我的项目时出现以下错误.重新创建.dproj文件没有帮助.

[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.

怎么解决?谢谢您的帮助!

Dav*_*nan 20

您有多个与应用程序链接的应用程序清单.只能有一个,所以有些必须被丢弃.现代Delphi版本默认根据"运行时主题"项目选项链接清单.您可能还有另一个清单链接,也许可以追溯到您在早期版本的Delphi中开发项目时的情况.您是否有机会使用TXPManifest组件?

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

  • 删除TXPManifest组件还不够好.您还必须从表单的"uses"子句中删除XPMan单元.(添加组件会自动添加单元,但删除组件不会删除单元,因为IDE无法*知道删除单元是正确的事情.正如我们在这种情况下看到的,该单元具有超出副作用只是提供组件,IDE不知道你是否还想要这些副作用.) (13认同)
  • @DavidHeffernan:在旁注中,XE2引入了指定自定义清单而不是使用默认清单的功能.转到"Project> Options> Application",将"Runtime Themes"设置为"Use custom manifest",并指定.manifest文件的文件名.您仍然需要从项目中删除`XPMan`,但这样您现在可以向项目清单添加其他条件(UAC提升,并排程序集,无注册COM等). (3认同)
  • 搜索链接资源的$ R。您刚刚升级了delphi吗? (2认同)

Wou*_*ick 7

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

XPMan从uses-clause中删除修复它.

通过搜索术语"xpman"中的"查找文件"找到了罪魁祸首.感谢Rob Kennedy在对David的回答的评论中提出这一建议.


Ari*_*ian 5

谢谢你的帮助。对我来说,以下内容有所帮助:

{$ R * .RES} from project source removed
Run Code Online (Sandbox Code Playgroud)