Dai*_*tsu 1 memory delphi free try-catch delphi-6
我一直遇到错误,其中对象以某种方式被释放,但我们最终调用FreeMem.当然这会导致错误,因为内存已被释放并引发错误.
我知道try-catch块可能会修复它,但这是很多try-catch块.使用常规object.free避免这种情况的方法是FreeAndNil(object),但我找不到FreeMem的等价物.在释放之前测试是否分配的东西.
这里的最佳解决方案是易于阅读,可维护性和稳定性.
Uli*_*rdt 7
相当于FreeAndNil
FreeMem(p); p := nil;
但是你可以通过找到你被释放后使用的对象来更好地解决这个问题.尝试FastMM - 它将帮助您完成该任务.
归档时间:
15 年,7 月 前
查看次数:
935 次
最近记录: