Schließt ein Windows Fenster, das zuvor mit cpShow angezeigt wurde und gibt belegte Rechnerresourcen wieder frei.
Das Thema TForm ist sehr komplex und in der Kürze kaum zu behandeln. Wer einsteigen möchte, ist im Cockpit-XP Forum gut aufgehoben. Fragen können dort gezielt und umfassender beantwortet werden.
| Befehl | cpFormFree(Form:TForm); |
|---|---|
| Funktion | Schließt ein Formular und gibt Resourcen frei |
| Typ |
Ein einfaches Eingabeformular mit Button.
var
f: TForm;
b: TButton;
l1 : TLabel;
e1 : TEdit;
fine: Boolean;
// Formular definieren und
procedure EingabeFormularZeigen();
begin
// f ist das Formularobjekt und wird hier initialisiert
f := TForm.Create(nil);
f.Caption := 'Cockpit-XP Wiki - Demo Formular';
f.BorderStyle := bsDialog;
f.Position := poScreenCenter;
// l1 ist das Label (Bezeichner) vor dem Eingabefeld
l1 := TLabel.Create(f);
l1.Name := 'Label1';
l1.Parent := f;
l1.Caption := 'Eingabefeld 1:';
l1.SetBounds(10,40,200,30);
// Hier wird das Eingabefeld definiert
e1 := TEdit.Create(f);
e1.Name := 'Textfeld1';
e1.Parent := f;
e1.Text := 'Cockpit-XP - was sonst?';
e1.SetBounds(90,37,200,30);
// Hier kommt die Schalfläche
b := TButton.Create(f);
b.Name := 'Button1';
b.Parent := f;
b.SetBounds(10, 100, 100, 30);
b.Font.Size := -16;
b.Caption := 'Test';
// Diese Prozedur wird aufgerufen, wenn der Button geklickt wird.
b.OnClick := @ButtonClick; { same as b.OnClick := 'ButtonClick' }
// Variable initialisieren
fine := False;
// Form f anzeigen
cpShow(f);
// Solange fine den Wert False hat
while not fine do
begin
// kurz warten
cpSleep(250);
end;
// Schließt das Formular wieder
cpFormFree(f);
end;
// Handler, wenn Button geklickt wurde
procedure ButtonClick(Sender: TButton);
begin
// Meldung anzeigen
cpShowMessage('Eingabe hat Wert: ' + e1.Text);
// Eigenschaft, wenn auf den Button geklickt wird = OK
f.ModalResult := mrOk;
// Variable auf True setzen. Formular wird dann geschlossen
fine := True;
end;
// Hauptprogram ab hier -->
begin
// Ruft das Formular auf und zeigt es an
EingabeFormularZeigen();
end.
Dieses Beispiel definiert ein Formular mit einem Label (Bezeichner), einem Eingabefeld und einer Schaltfläche (Button). In das Feld kann beliebiger Text eingegeben werden. Klickt man auf den Button, erscheint der eingegebene Text in einer Meldung.
Da die Meldung aus dem Ereignishandler des Buttons kommt, wird das Formular erst geschlossen, wenn die Meldung ebenfalls mit Klick auf OK bestätigt ist.
Nach dem Klick auf OK der Meldung wird die Variable fine wahr (True). Der Befehl cpFormFree schließt das Formular und gibt belegte Speicherresourcen wieder frei.