加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 大数据 > 正文

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

发布时间:2020-12-15 04:29:13 所属栏目:大数据 来源:网络整理
导读:假设我的Delphi类看起来像这样: interfacetype TMySubInfo = class public Name : string; Date : TDateTime; Age : Integer; end; TMyInfo = class public Name : string; SubInfo : array of TMySubInfo; destructor Destroy; override; end;implementati
假设我的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,当该列表被释放时,它可以释放所有的项目.

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读