当前位置:  开发笔记 > 开发工具 > 正文

Delphi 7编译错误 - .res和.dfm之间的"Duplicate resources(s)"

如何解决《Delphi7编译错误-.res和.dfm之间的"Duplicateresources(s)"》经验,为你挑选了2个好方法。

我得到了一个非常类似的错误:

如何解决这个delphi 7编译错误 - "重复资源"

但是,我得到的错误是这样的:

  [Error] WARNING. Duplicate resource(s):
  [Error]   Type 10 (RCDATA), ID TFMMAINTQUOTE:
  [Error]     File P:\[PATH SNIPPED]\Manufacturing.RES resource kept; file FMaintQuote.DFM resource discarded.

Manufacturing.res是默认资源文件(应用程序称为Manufacturing.exe),FMainQuote是其中一种形式..dfm文件是纯文本文件,所以我不确定哪些资源是重复的,如何找到并修复它?

如果我再次尝试编译项目,它可以正常工作,但exe的图标与我在"项目选项"中使用"加载图标"按钮设置的图标不同.应用程序上的图标是某种我无法识别的铃声图像.



1> Osama Al-Maa..:

尝试寻找额外的{$ R*.res}或{$ R*.dfm},您可能已从某处复制过它.



2> skamradt..:

Delphi将所有DFM文件转换为资源,并将它们命名为类的名称.您可以使用资源编辑器并打开任何基于表单的Delphi应用程序来验证这一点.

搜索所有单位以查找TFMMAINTQUOTE表单的实例.它最有可能是两个单元,其中一个没有链接到你的项目,但是通过引用错误单元的uses子句被拉入(错误,因为它以不同的名称保存但具有相同的表单名称,如果它是您项目的一部分,然后编译器会在您首先添加单元时抱怨).

这个问题的简单解决方案是在项目中找到TFMMAINTQUOTE表单并将表单重命名为其他表单,但旧的TFMMAINTQUOTE仍将被拉入.

我建议使用一个好的目录grep工具,例如GExperts中的工具来进行搜索.它可以节省很多时间,如果需要,可以设置为搜索整个硬盘.GExperts的优势在于它可以免费直接集成到Delphi IDE中.

推荐阅读
php
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有