Anwendungs Sysmbol beim Compilieren ändern
Wie entferne ich das ICON was in Projekt->Optionen->Anwendung->Symbol eingestellt ist, ich würde gern
beim Compilieren entscheiden welches Symbol mit in die EXE eingebaut werden soll. Ich habe eine Resourcen Datei mit 4 Icons, ich kann zwar per Application.ICON das gewünschte ICON auswählen dies wird jedoch nur zur Laufzeit gesetzt, was auch logisch ist. Aber das Icon der EXE selbst bleibt unverändert, daher meine Frage kann man während der Erzeugung der EXE einfluss auf das ICON nehmen. Meine Anwendung soll in verschiedenen Modi laufen diese Modi werden wärend der Entwicklung gesetzt so jetzt soll aber für jeden Modus auch ein entsprechendes Icon verwendet werden. Mir ist natürlich klar das man das Icon der Exe datei nicht zur Laufzeit ändern kann, jedoch will ich mir sparen jedes mal wenn ich den Programm Modus ändere auch in die Projekt Einstellungen zu gehen um dort das Symbol zu ändern. Viel lieber wäre mir das evtl. mit Compiler-Schaltern zu lösen, nur wie hab ich keinen Plan.
Delphi-Quellcode:
So in der art würde ich mir das vorstellen, jedoch klappt das ganze so ja nicht weil der Compiler anscheind
{$IFDEF Modus_1}
Application.Icon.LoadFormResourceName(HINSTANCE, 'Icon_1'); {$ENDIF} {$IFDEF Modus_2} Application.Icon.LoadFormResourceName(HINSTANCE, 'Icon_2'); {$ENDIF} immer das erste Icon nimmt was er findet und dieses als Symbol für die Exe verwendet, obwohl alle anderen Icons mit in der Exe enthalten sind. Also mein Ansatz zur Zeit ist der das man dem Compiler mitteilen müßte welches Symbol das Hauptsymbol ist, nur ob das überhaupt machbar ist bzw. wie zu realisieren hab ich grade keinen Schimmer. |
DP-Maintenance
Dieses Thema wurde von "Phoenix" von "Windows API / MS.NET Framework API" nach "Sonstige Fragen zu Delphi" verschoben.
Hier gehts immerhin um den Delphi-Compiler ;-) |
Re: Anwendungs Sysmbol beim Compilieren ändern
Steht das nicht in der '*.RES' Datei drin? Die wird ja im Hauptprogramm eingebunden ('{$R *.res}')
Kannst Du da nicht ansetzen, und per Compilerschalter eintscheiden, welche RES-Datei denn eingebunden werden soll?
Delphi-Quellcode:
Ungetestet. Probiers aus.
program Project1;
uses Forms, Unit3 in 'Unit3.pas' {Form3}; {$IFDEF Modus_1} {$R Project_Version_1.res} {$ENDIF} {$IFDEF Modus_2} {$R Project_Version_2.res} {$ENDIF} begin Application.Initialize; Application.CreateForm(TForm3, Form3); Application.Run; end. |
Re: Anwendungs Sysmbol beim Compilieren ändern
Naja in der Theorie sollte das klappen, in der Praxis meckert der Compilier das die Bezeichnung "MAINICON" doppelt vorkommt,
was er nicht erlaubt, nur wenn ich in meiner eigenen Resourcen Datei das nicht als MAINICON deklariere würde der das theoretisch nie als Programm Symbol nehmen, ich müßte das quasi aus der Original Resource Datei raus bekommen. |
Re: Anwendungs Sysmbol beim Compilieren ändern
Shit. Dann eben mit dem 'RC' Resource-Compiler die RES-Datei ändern.
|
Re: Anwendungs Sysmbol beim Compilieren ändern
Naja also wenn das alles so aufwendig ist werde ich dann doch eben das Icon
entsprechend in den Projekt Optionen wählen müssen. |
Alle Zeitangaben in WEZ +1. Es ist jetzt 17:23 Uhr. |
Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz