Для веб-фреймворка я впервые попробовал анонимные методы и столкнулся с проблемой с управлением памятью.
Как можно исправить эту утечку памяти (Delphi 2009)?
Сообщение об утечке:
13–20 байт: Project27 $ ActRec x 1
program Project27;
type
TTestProc = reference to procedure;
procedure CallMe(Proc: TTestProc);
begin
end;
begin
CallMe(procedure begin end);
ReportMemoryLeaksOnShutdown := True;
end.
То же сообщение об утечке «Project27 $ ActRec x 1» появляется независимо от того, сколько анонимных методов находится между началом и концом, я предполагаю, что утечка относится к типу TTestProc, а не к отдельным анонимным процедурам
program Project27;
type
TTestProc = reference to procedure;
procedure CallMe(Proc: TTestProc);
begin
end;
begin
ReportMemoryLeaksOnShutdown := True;
CallMe(procedure begin end);
CallMe(procedure var A: Integer; begin A := 42 ; end);
end.