Delphi-Quellcode:
class function TDataDialog.Edit(aData : TMyData);
Begin
With TDataDialog.Create(Nil) do
try
DataToDialog(aData);
Result := ShowModal;
If Result then
DialogToData(aData);
finally
Release;
End
End;
Ist Release nicht etwas unsicher? Es ist nicht blockierend, die Kontrolle wird sofort an die aufrufende Prozedur zurückgegeben, so dass der Dialog auch nach dem Aufruf von TDataDialog.Edit(MyData) noch existieren und die Nachrichtenwarteschlange weiterhin abarbeiten kann.