我们在Delphi中创建的每个类都需要具有析构函数吗?

当我在Delphi应用程序中创建自定义类时,我使用标准过程:

TCustomClass = Class
 private
  var1,var2 : integer/string/Real/Boolean...
  procedure P1...
  function F1...
 public
  constructor Create;
end;

...

CustomClass := TCustomClass.create;

我想知道我是否还必须创建析构函数过程,或者在应用程序关闭时是否自动释放资源?

我总是使用Application作为所有者,很少使用Self或Nil,我不记得我在互联网上看到的类中看到任何人声明了Destructor,除了有人使用指针时。

Delphi中的析构函数背后的逻辑与C ++中的问题一样:

每个班级是否应该有一个虚拟析构函数?

提前致谢。

编辑1:免费咨询提到我忘了说,其中一个变量可能是TBitmap类型


它只需要有一个析构函数,如果你需要清理一些东西,比如分配的内存。 例如,如果您在构造函数中使用了TClassname.Create(...),则需要释放析构函数方法。

当然,可能有许多不同的理由需要一个析构函数(一直告诉用户他的数据将被擦除),但这是最常见的。

链接地址: http://www.djcxy.com/p/34945.html

上一篇: Does every Class we create in Delphi need to have destructor?

下一篇: How to affect Delphi XEx code generation for Android/ARM targets?