Einzelnen Beitrag anzeigen

hzzm

Registriert seit: 8. Apr 2016
103 Beiträge
 
Delphi 10 Seattle Professional
 
#1

Resourcen komplett manuell einbinden

  Alt 9. Okt 2019, 09:53
Ich wuerde gerne den RAD-Studio Dialog "Resourcen und Bilder..." vermeiden.
Ich habe dort circa 1000 kleine Icons und Bilder eingepflegt, jetzt ist das Tool einfach zu langsam geworden.
Wenn ich ein neues Icon hinzufuege und OK klicke, haengt sich die IDE 0 Sekunden bis 40 Minuten auf, um die Resourcen-Aenderungen einzukompilieren.

Daher wuerde ich jetzt gerne die gesamt Arbeit des Resourcen-Pflegers "Resourcen und Bilder..." manuell ausfuehren.
Ich habe bisher versucht, ein neues icon in der .rc hinzuzufuegen. Es liegt neben hundert anderen, Name und Pfad sind also definitiv korrekt.
Ich speichere die .rc im Texteditor und starte den Resourcen-Compiler - mit der Befehlszeile der IDE imitiert - manuell in cmd:
Code:
D:\Program Files (x86)\Embarcadero\Studio\17.0\bin>cgrc.exe -c65001 MyProjectResource.rc -foMyProject.dres
Dabei wird auch die .dres erzeugt. Sie hat die erwartete Groesse und ich gehe davon aus, dass meine Neue Resource hier beruecksichtigt wird.

Wenn ich in der IDE nun das Projekt erzeuge und starte, sehe ich, dass die manuell hinzugefuegte Zeile in der .rc nun automatisch entfernt und meine Resource nicht verfuegbar wird.
Ich mache beim Ablauf irgendwas falsch: Ich vermute, ich muesste mit cgrc die resourcen noch in die .exe einkompilieren, das heisst in cmd
Code:
cgrc.exe -v MyProjectResource.rc MyProject.exe
CodeGear Resource Compiler/Binder
Version 1.2.2 Copyright (c) 2008-2012 Embarcadero Technologies Inc.

Error: Unable to invoke ilink32.exe
erhalte dann aber diesen Fehler. Im Windows PATH ist das Embarcadero bin-Verzeichnis eingestellt, aber ich finde Systemweit sowieso keine ilink32.exe.

Wie komme ich ans Ziel?
Danke.

Edit:
Wenn ich nur brcc32.exe benutze, wird eine .res erzeugt, die auch die passende Filesize der .dres hat.
Die .res, die brcc32 eigentlich erzeugen will, ist bei mir seit jeher nur ~120kB gross, enthaelt also definitiv nicht meine Bild-Resourcen.
Ich gehe deshalb davon aus, dass ich die von brcc32 erzeugte .res in .dres umbenennen muss, um die vorherige (automatisch korrekt generierte) .dres zu ersetzen.

Das fuehrt aber auch nicht zum Ziel. Meine Neue Zeile in der .rc wird auch automatisch entfernt und die Resource steht nicht zu Verfuegung.

Geändert von hzzm ( 9. Okt 2019 um 10:10 Uhr) Grund: Neue Erkenntnis
  Mit Zitat antworten Zitat