我应该如何在Delphi 7析构函数中释放一组对象?

前端之家收集整理的这篇文章主要介绍了我应该如何在Delphi 7析构函数中释放一组对象?前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
@H_502_0@
假设我的Delphi类看起来像这样:
  1. interface
  2. type
  3.  
  4. TMySubInfo = class
  5. public
  6. Name : string;
  7. Date : TDateTime;
  8. Age : Integer;
  9. end;
  10.  
  11. TMyInfo = class
  12. public
  13. Name : string;
  14. SubInfo : array of TMySubInfo;
  15. destructor Destroy; override;
  16. end;
  17.  
  18. implementation
  19.  
  20. destructor TMyInfo.Destroy;
  21. begin
  22. // hmmm..
  23. end;
  24.  
  25. end.

要正确清理,析构函数应该怎么办?是否足够做SetLength(SubInfo,0),还是需要循环并释放每个TMySubInfo?我需要做任何事情吗?

解决方法

您需要循环并释放每个创建的对象.

您必须知道,声明一个TMySubInfo数组实际上并不创建对象.你以后要创建它们.

我会使用一个TList代替更有活力的方法.甚至可以使用TObjectList,当该列表被释放时,它可以释放所有的项目.

猜你在找的Delphi相关文章