Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Delphi 7 compile error - “Duplicate resource(s)” between .res and .dfm

Tags:

delphi

I got a very similar error to the one below:

How can I fix this delphi 7 compile error - "Duplicate resource(s)"

However, the error I got is this:

  [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 is the default resource file (application is called Manufacturing.exe), and FMainQuote is one of the forms. .dfm files are plain text files, so I'm not sure what resources is being duplicated, how to find it and fix it?

If I tried to compile the project again, it works OK, but the exe's icon is different to the one I've set in Project Options using the "Load Icon" button. The icon on the app is some sort of bell image that I don't recognize.

like image 807
Robo Avatar asked Dec 08 '22 09:12

Robo


2 Answers

try looking for having an extra {$R *.res} or {$R *.dfm},you may have copied it from somewhere.

like image 98
Osama Al-Maadeed Avatar answered Jun 03 '23 06:06

Osama Al-Maadeed


Delphi converts all of your DFM files into resources, and names them the name of the class. You can verify this by using a resource editor and opening any of your form based Delphi applications.

search all of your units for instances of the TFMMAINTQUOTE form. Its most likely in two units, one of which is NOT linked to your project, but is being pulled in via the uses clause referencing the wrong unit (wrong as in it is saved with a different name but has the SAME form name, if it was part of your project then the compiler would complain when you added the unit in the first place).

The simple solution to this problem is to find the TFMMAINTQUOTE form IN your project and rename the form to something else, but then the old TFMMAINTQUOTE will still be pulled in.

I suggest using a good directory grep tool such as the one in GExperts to do your searching. It will save you alot of time and can be set to search your entire hard drive if so desired. The advantage of GExperts is that its free and integrates directly into the Delphi IDE.

like image 29
skamradt Avatar answered Jun 03 '23 07:06

skamradt