Hallo,
ich habe ein Formular, das je nach Aufruf 2 unterschiedliche Überschriften anzeigen soll. Dafür existiert eine
Unit-Interne Variable vom Typ Byte, die Werte von 1 (Überschrift 1) und 2 (Überschrift 2) annehmen kann.
Nun wäre es aber sinnvoller, diese interne Typvariable in die Formular-Klasse bzw. deren Public-Bereich zu verschieben. Das Problem dabei ist aber, dass diese Variable in der FormCreate-Funktion des Formulars abgefragt werden soll, weswegen sie nicht nach dem Create-Aufruf festgelegt werden kann.
Die Formularklasse sieht ungefähr so aus:
Delphi-Quellcode:
TFormZeigeDatenKompakt = class(TForm)
BitBtn1: TBitBtn;
Memo1: TMemo;
Panel1: TPanel;
procedure FormCreate(Sender: TObject);
private
protected
public
KompaktTyp : Byte; {Typ 1 = Überschrift 1
Typ 2 = Überschrift 2}
end;
Aufrufen wollte ich dieses Formular wiefolgt:
Delphi-Quellcode:
FormZeigeDatenKompakt.FormZeigeDatenKompaktVar:=FormZeigeDatenKompakt.TFormZeigeDatenKompakt.Create(Application);
FormZeigeDatenKompakt.FormZeigeDatenKompaktVar.KompaktTyp:=2;
FormZeigeDatenKompakt.FormZeigeDatenKompaktVar.ShowModal;
FormZeigeDatenKompakt.FormZeigeDatenKompaktVar.Free;
Wobei FormZeigeDatenKompaktVar wiefolgt
Unit-Intern deklariert ist:
var FormZeigeDatenKompaktVar : TFormZeigeDatenKompakt;
Hier wird aber die Zuweisung des KompaktTyps von 2 ignoriert, da mit Create automatisch FormCreate aufgerufen wird. Wie kann man das verbessern?