Анонимный метод в проекте вызывает утечку памяти

Для веб-фреймворка я впервые попробовал анонимные методы и столкнулся с проблемой с управлением памятью.

Как можно исправить эту утечку памяти (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. 
6
задан mjn 28 July 2012 в 14:16
поделиться