Da ist der weg, bevor ich mir das Ergebnis nach dem ShowModal
holen kann.
Dann gehst Du den anderen Weg und läßt die Modal-Form vorher die Werte an den Aufrufer übergeben.
Ja, das würde schon gehen, allerdings ist es schwierig, das in einem robusten Code zu gießen.
Hier wird die Dialog-Instanz
immer freigegeben:
Delphi-Quellcode:
LDialog := TDialog.Create(nil);
try
LDialog.Assign( LDialogData );
if LDialog.ShowModal = mrOK then
LDialogData.Assign( LDialog );
finally
LDialog.Free;
end;
wenn der Dialog sich selber aus dem Speicher räumt und vorher aber noch die Daten irgendwo hinschreiben soll, dann kann es aufgrund einer Exeption dazu kommen, dass die Instanz doch nicht freigegeben wird.
Gut ich kann dort natürlich im Dialog die
Exception fangen und dann irgendwie durchreichen, oder so ... oder ich mache es mir einfach (s.o.) und bekomme dort alles mit und trotzdem ist alles immer sauber.
Jeder wie er mag, aber ich mag halt robust und sauber ...