我正在维护一个遗留应用程序,并且有以下代码行:
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
的替代品是什么?有什么意义吗?我可以在那里采取其他更有意义的措施吗?
(我想我可以完全删除调用和输出,但用户显然希望在状态栏中看到此信息)
最佳答案
调用GetMemoryManagerState
反而。它返回类似的信息,尽管不一定会分解为像 AllocMemSize
这样的单个数字。弃用的原因是 Delphi 在 Delphi 2006 左右改用 FastMM 作为内存管理器,并且它跟踪内存的方式与旧的内存管理器不同。
另请参阅Monitoring memory usage在文档中。
关于delphi - 什么取代了已弃用的 AllocMemSize,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15573010/