Was soll um Himmels Willen an der Variante, die du vorschlägst, besser sein?
Es gibt schon Situationen, wo anonyme Methode etwas bringen, aber hier? Nur, um endlich einmal eine anonyme Methode verwenden zu können?
Ganz einfach... Weil es so schon in der
RTL enthalten ist.
Zitat von
RTL_XE8:
..
Delphi-Quellcode:
function ShowModal: TModalResult; overload;
procedure ShowModal(const ResultProc: TProc<TModalResult>); overload;
..
Delphi-Quellcode:
procedure TCommonCustomForm.ShowModal(const ResultProc: TProc<TModalResult>);
begin
FResultProc := ResultProc;
Show;
end;
procedure TCommonCustomForm.SetModalResult(Value: TModalResult);
begin
FModalResult := Value;
if Assigned(FResultProc) then
begin
FResultProc(FModalResult);
FResultProc := nil;
Close;
end;
end;