Danke erstmal für die Antwort.
Ich finde deine Methode allerdings umständlicher,da ich hier wie du schon sagst an 2.Stellen Code ändern müsste.
Ziel ist es auch sowenig wie möglich in den einzelnen Formular Units Code dafür hinterlegen.
Ich dachte eigentlich daran, dass ich jedem Formular
Unit das ich habe in der FormCreate Methode ein Funktionsaufruf übergebe :
Delphi-Quellcode:
procedure TForm1.FormCreate(Sender: TObject);
begin
InitializeCaptions(Version);
end;
procedure TForm2.FormCreate(Sender: TObject);
begin
InitializeCaptions(Version);
end;
procedure TForm3.FormCreate(Sender: TObject);
begin
InitializeCaptions(Version);
end;
dann dazu eine Klasse bzw. die Funktion(Methode) einfach ausgelagert
//globale Variable die gesetzt wird.
Version : integer;
procedure InitializeCaptions(Version:integer)
begin
//Unit 1
if Programmversion= 1
then
Unit1.label1.caption :="Programmversion 1";
Unit1.label2.caption :="Herzlich Willkommen bei 1";
Unit2.label1.caption :="Programmversion 1";
Unit2.label2.caption :="Herzlich Willkommen bei 1";
Unit3.label5.caption :="Wiedersehen
in 1";
end;
//evtl. auch die Positionen der einzelnen Labels verändern
//Unit 1
if Programmversion= 2
then
Unit1.label1.caption :="Programmversion 2";
Unit1.label1.left:= Unit1.label1.left + 12;
Unit1.label2.caption :="Herzlich Willkommen bei 2";
Unit1.label3.visible:=false;
end;
end.
Was hier halt unschön ist, dass ich direkt aus der Klasse auf einzelne Formular Units zugreife.