Formularinstanzen mit lokalen Variablen erstellen

Aus RAD Studio (Deutsch)
Wechseln zu: Navigation, Suche

Nach oben zu Die Benutzeroberfläche erstellen - Index

Mithilfe einer lokalen Variablen kann in einer Ereignisbehandlungsroutine eine eindeutige Instanz eines modalen Formulars erstellt werden. In diesem Fall spielt es keine Rolle, ob das Formular automatisch erstellt wird oder nicht. Die Ereignisbehandlungsroutine enthält keine Referenz auf die globale Formularvariable. Beispiel:



 procedure TMainForm.Button1Click(Sender: TObject);
 var
   RF:TResultForm;
 begin
   RF:=TResultForm.Create(self)
   RF.ShowModal;
   RF.Free;
 end;



 void __fastcall TMainMForm::FirstButtonClick(TObject *Sender)
 {
 TResultsForm *rf = new TResultsForm(this);
 rf->ShowModal();
 delete rf;
 }



Beachten Sie, dass die globale Instanz des Formulars in dieser Ereignisbehandlungsroutine nicht verwendet wird.

Normalerweise werden in einer Anwendung die globalen Formularinstanzen verwendet. Wenn Sie jedoch eine neue Instanz eines modalen Formulars lediglich in einem eingegrenzten Bereich (z.B. in einer Funktion) benötigen, ist eine lokale Instanz die sicherste und effizienteste Methode. In Ereignisbehandlungsroutinen für nichtmodale Formulare können natürlich keine lokalen Variablen verwendet werden.

Dieser Formulartyp erfordert einen globalen Gültigkeitsbereich. Die Variable muss so lange sichtbar sein, wie das Formular benötigt wird. Da die Methode Show sofort nach dem Öffnen des Formulars beendet wird, ist die lokale Variable danach nicht mehr sichtbar.

Siehe auch

In anderen Sprachen