假设我的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.@H_502_3@要正确清理,析构函数应该怎么办?是否足够做SetLength(SubInfo,0),还是需要循环并释放每个TMySubInfo?我需要做任何事情吗?
解决方法
您需要循环并释放每个创建的对象.
您必须知道,声明一个TMySubInfo数组实际上并不创建对象.你以后要创建它们.
我会使用一个TList代替更有活力的方法.甚至可以使用TObjectList,当该列表被释放时,它可以释放所有的项目.