Ich möchte zwei verschiedene Versionen meiner Anwendung mit verschiedenen Symbolen auf der Grundlage einer DEFINE erstellen. Es ist mir gelungen, verschiedene Ressourcendateien basierend auf der Definition aufzunehmen, aber ich kann die MAINICON
in der Standard-RES-Datei meines Projekts nicht loswerden.Bedingte Änderung Anwendungssymbol mit Delphi 2006
Ich habe eine Ressource Version1.rc Datei mit der folgenden Zeile:
MAINICON icon "resource\icons\Version1.ico"
Aber wenn ich versuche, MyProject zu kompilieren die IDE Ich bekomme immer folgende Fehlermeldung:
E2161 Duplicate resource: Type 14 (ICON GROUP), ID MAINICON; File C:\MyProject\Version1.RES resource kept; file C:\MyProject\MyProject.RES resource discarded.
Ich habe versucht, Bearbeiten MyProject.res
mit einem Ressourceneditor und löschte MAINICON, aber Delphi scheint automatisch die Datei einschließlich des Symbols neu zu erstellen.
Lassen Sie die IDE MyProject.res nicht verwalten. Lass dein Build-Skript es erstellen. Natürlich schlage ich routinemäßig vor, dass hier und jedes Mal, wenn ich es tue, mehrere Leute mit mir nicht übereinstimmen. Es scheint nur ich zu sein, der gerne einen wiederholbaren Build-Prozess hat, der nicht auf der IDE beruht ....... –
@DavidHeffernan Im Moment starte ich ein Skript 'compile_resources.bat' und dann klicke ich auf' Build All 'in meiner Projektgruppe in der IDE. Delphi scheint jedoch die MyProject.res in diesem Prozess zu überschreiben. Ich verstehe den Wert eines Skripts, um alles zu kompilieren, aber ich denke, das wäre ziemlich viel Arbeit. Auf der anderen Seite möchte ich auch in der Lage sein, eine Definition in der IDE zu setzen und die richtige exe erzeugen zu lassen. –
Sie müssen nur von der IDE übernehmen. Entfernen Sie die Zeile "{$ R * .res}" aus der .dpr-Datei und Sie können loslegen. Auf der anderen Seite, wenn Sie lieber in der IDE bleiben, dann werden Sie mit solchen Aufgaben kämpfen. Wenn Sie das lieber tun würden, liegt das natürlich bei Ihnen. –