destroy和free and close有什么区别?

时间:2019-07-04 07:29:23

标签: delphi

我最近正在学习Delphi,但是当我想关闭对话框或窗体时,它可以与“关闭”,“自由”和“销毁”命令一起使用。

这些命令之间有什么区别,我该如何决定使用哪个命令?

1 个答案:

答案 0 :(得分:-1)

Tform.Close

在VCL中,窗体将根据其状态关闭。如果您的FFormStateFSModal,它将执行取消操作。 如果您的表单为MainForm,则整个合并将终止,依此类推。有关更多信息,请查看TCustomForm.Close内部的system.pas。 最后的结果是您不再看到表格,但这并不意味着您对表格的引用被破坏。

.free

free也称为destroy,但是就像David所说的那样,引用安全性为零,因此在大多数情况下,您应该使用free而不是destroy

.destroy