Umgehen lässt sich das Problem leicht:
Mach aus Func auch ein privates Feld statt einer lokalen Variable.
Schöner ist aber wohl diese Lösung:
Delphi-Quellcode:
procedure TForm142.FormCreate(Sender: TObject);
procedure DoInit(Func: TFunc<String>);
begin
Memo1.Lines.Add(Func);
FProc :=
procedure
begin
Memo1.Lines.Add(Func);
end;
end;
begin
ReportMemoryLeaksOnShutdown := true;
DoInit(function: String
begin
Result := Edit1.Text;
end);
end;