Das geht wie mit jeder anderen Komponente auch.
z.B.:
Delphi-Quellcode:
Fenster := TMeinEingabeFenster.Create(nil); // Owner braucht man nicht unbedingt, da es ja manuell freigegeben wird
try
// hier könnte man eventuell noch was an das Fenster übergeben
if Fenster.ShowModal = mrOK then begin
x := Fenster.IPEdit.Text;
y := StrToInt(Fenster.PortEdit.Text);
end;
finally
Fenster.Free;
end;
In dem Fenster (neune
VCL-Form) sind zwei Edits und zwei Buttons.
Ein Button mit ModalResult = mrOK und der Andere mit mrCancel
Über ModalResult wird automatisch die Form, bzw. der "Dialog" geschlossen.
Aber du kannst im OnClick des OK-Buttons nochmal die Eingaben prüfen und dann entweder ModalResult im Fehlerfall auf mrNone zurücksetzen,
oder dort überhaupt erst auf mrOK setzen, wenn alles OK ist.
[edit]
OK, wenn man das Fenster von der
VCL automatisch erstellen läßt (Projektoptionen > Formulare), dann ginge das auch noch etwas anders,
aber sowas macht man ja nicht.
Ach ja, bei TMeinEingabeFenster muß Visible natürlich auf False stehen, im
OI.