Delphi对象上的Destroy方法和Finalize方法有什么区别?

时间:2015-03-01 23:42:58

标签: delphi destructor dynamic-memory-allocation

Delphi对象上的“Destroy”方法和“Finalize”方法有什么区别?

This page(和其他来源)提到了Delphi对象的“Finalize”方法,但关于对象方法的Delphi reference page奇怪地根本没有提到它(甚至更奇怪的是,Google没有提供任何好的命中,所以我在这里缺少什么?

2 个答案:

答案 0 :(得分:3)

正如上面的一些评论中所回答的(用户" Remy Lebeau"和#34; Abelisto"),答案似乎是这个魔术"最终确定"方法只存在于专门用于.NET的Delphi的早期版本中,但从未存在于" normal" Delphi的。

(我在这里提交这些信息的真实答案"使这些信息更加明显,因为这些用户似乎都不想自己这样做)

另外参考,在"正常" Delphi确实有一个系统函数named "Finalize" too,但这不是这个问题的关键所在。

答案 1 :(得分:1)

Destroy是TObject的一种方法,释放与实例关联的内存,而Finalize是一个用于处理动态数组的系统过程(而不是方法)。