6

我正在维护一个遗留应用程序,并且我有以下代码行:

sb.Panels[3].Text:= ' Memory in use: ' +  IntToStr(AllocMemSize);

它给出了以下警告:

[dcc32 Warning] BLOB.pas(8242): W1000 Symbol 'AllocMemSize' is deprecated

事实上,AllocMemSize 已被弃用(来自 System.pas):

var
  AllocMemSize: Integer deprecated; {Unsupported}

我的问题是:什么是替代品AllocMemSize?有什么意义吗?有没有其他更有意义的措施我可以放在那里?

(我想我可以完全删除调用和输出,但用户显然希望在状态栏中看到此信息)

4

1 回答 1

9

GetMemoryManagerState改为打电话。它返回类似的信息,尽管不一定会简化为一个数字,例如AllocMemSize. 弃用是由于 Delphi 在 Delphi 2006 前后切换到使用 FastMM 作为内存管理器,并且它跟踪内存的方式与旧的内存管理器不同。

另请参阅文档中的监控内存使用情况

于 2013-03-22T14:43:08.723 回答