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

Rob*_*obo 4 delphi

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

如何解决这个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.
Run Code Online (Sandbox Code Playgroud)

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

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

Osa*_*eed 6

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


ska*_*adt 5

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

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

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

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