Ich greife hier das Beispiel von Mavarik auf und habe dazu noch Ergänzungen:
Delphi-Quellcode:
var
MyWin : TMyWin; // *1
begin
MyWin := TMyWin.Create(nil {*2});
try
MyWin.Property1 := ...; // *3
MyWin.Property2 := ...;
if MyWin.Showmodal = MROK then /* 4
begin
x := MyWin.Property1; // *5
y := MyWin.Property2;
end;
finally
MyWin.free;
end.
*1) man sollte immer eine lokale Variable für das modale Formular verwenden
die globale Variable, die Delphi imer automatisch anlegt sollte man auskommentieren.
*2) immer
nil als Owner übergeben. Übergibt man
Application als Owner ist das messbar langsamer
weil unter Umständen mehrere 100 - 1000 Mal die Methode Notify aufgerufen wird.
*3) optional Werte vorbelegen
*4) Immer das modale Result abfragen
*5) Werte vom modalen Formular entgegennehmen und speichern
Bei sehr vielen Werten am Besten einen Record oder eine Klasse verwenden.