我应该如何在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,当该列表被释放时,它可以释放所有的项目. (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |