Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Sonstige Fragen zu Delphi (https://www.delphipraxis.net/19-sonstige-fragen-zu-delphi/)
-   -   Delphi Anwendungs Sysmbol beim Compilieren ändern (https://www.delphipraxis.net/115450-anwendungs-sysmbol-beim-compilieren-aendern.html)

TUX_der_Pinguin 12. Jun 2008 10:18


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:
{$IFDEF Modus_1}
  Application.Icon.LoadFormResourceName(HINSTANCE, 'Icon_1');
{$ENDIF}

{$IFDEF Modus_2}
  Application.Icon.LoadFormResourceName(HINSTANCE, 'Icon_2');
{$ENDIF}
So in der art würde ich mir das vorstellen, jedoch klappt das ganze so ja nicht weil der Compiler anscheind
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 12. Jun 2008 10:46

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 ;-)

alzaimar 12. Jun 2008 12:34

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:
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.
Ungetestet. Probiers aus.

TUX_der_Pinguin 12. Jun 2008 13:37

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.

alzaimar 12. Jun 2008 14:11

Re: Anwendungs Sysmbol beim Compilieren ändern
 
Shit. Dann eben mit dem 'RC' Resource-Compiler die RES-Datei ändern.

TUX_der_Pinguin 12. Jun 2008 14:25

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