Projekt -> Ressourcen und Bilder fügt man zusätzliche Ressourcen ein, welche einen Namen bekommen,
aber dort kannst du nicht die "richtige" ID angeben, damit diese Ressource als App-Icon erkannt wird.
Fazit: dort garnicht (eigentlich)
In der RC gibt es eine Konstante
MAINICON
(ich glaube die hat den Wert 0)
ABER, da ich auch schon komische Dinge gesehn hab, z.B. hier was aus ddem FMX
Delphi-Quellcode:
Result := LoadIcon(MainInstance, 'MAINICON');
Result := LoadIcon(0, IDI_APPLICATION);
FMAppClass.hIcon := LoadIcon(MainInstance, PChar('MAINICON'));
// wobei IDI_APPLICATION = MakeIntResource(32512) aka PChar(32512)
Also versuch einfach mal
MAINICON
als Name im Ressourcen und Bilder anzugeben.
https://devblogs.microsoft.com/oldne...3-00/?p=111106
(wie und wo die zusätzlichen bzw. neuen Icons/Bilder aus den Projektoptionen eingebunden werden, hab ich ehrlich gesagt noch nie nachgesehn)
Am Einfachsten ist es wohl, wenn du im Projekt die Icons deaktivierst/entfernst
und dann eine eigene .RES, bzw. .RC in die .DPR einbindest.
Nur innerhalb der .DPR und .DPK kann man anstatt
{$R xxxx.res}
auch
{$R xxxx.res xxxx.rc}
verwenden.
(in
PAS zwar auch, aber dort wird der RC-Parameter bösartig und ohne was zu sagen ignoriert)
Innerhalb der Projektdatei kümmert sich dann Delphi darum (bzw. die DPROJ/MSBuild), dass die RC zur RES kompiliert wird.
Ich vergesse immer, wie rum es ist. (müsste man ausprobieren)
Falls DOCH Delphi wieder ein eigenes Icon einfügt, dann wäre ja nun dessen ID/Name doppelt,
es kommt also eine Compilerwarnung (oder vielleicht auch erst später eine Warnung vom Linker), dass diese Ressource doppelt ist.
Welche Ressource dann verwendet wird,
* also die Erste und alle Nachfolgenden ignoriert
* oder die Letzte, also jeweils das Vorherige überschrieben
darauf kommt es nun an, ob du deine Ressource als Erstes oder Letztes, vor oder unter das
{$R *.res}
, in die
DPR einfügen solltest),
damit im Fehlerfall dennoch dein ICON verwendet wird.
Alternativ den Icon-Eintrag im Projekt (*.DPROJ) aktualisieren.
Kann sein, dass jemand dafür schon ein Tool (Konsolenanwendung) dafür geschrieben hat,
oder man geht über die OpenToolsAPI da dran.
(notfalls könnte man z.B. auch via
XML-Komponente dran rumfummeln)
Ein Therapeut entspricht 1024 Gigapeut.