Einzelnen Beitrag anzeigen

DevidEspenschied

Registriert seit: 7. Sep 2006
Ort: Berlin
439 Beiträge
 
Delphi 12 Athens
 
#1

Public-Variable exportieren und im Formular-FormCreate verwenden

  Alt 18. Jul 2011, 18:38
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?
Devid
Devid Espenschied
Pre-sales Consultant
Embarcadero Germany GmbH
germany.info@embarcadero.com

Kein Support per PN
  Mit Zitat antworten Zitat