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

前端之家收集整理的这篇文章主要介绍了我应该如何在Delphi 7析构函数中释放一组对象?前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
假设我的Delphi类看起来像这样:
interface
type

    TMySubInfo = class
    public
        Name : string;
        Date : TDateTime;
        Age  : Integer;
    end;

    TMyInfo = class
    public
        Name : string;
        SubInfo : array of TMySubInfo;
        destructor Destroy; override;
    end;

implementation

    destructor TMyInfo.Destroy;
    begin
      // hmmm..
    end;

end.

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

解决方法

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

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

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

原文链接:https://www.f2er.com/delphi/101399.html

猜你在找的Delphi相关文章