如何彻底释放List的空间?譬如说一个数组链表,应该怎么释放比较安全?

解决方案 »

  1.   

    举个例子:type
      PListData = ^TListData;
      TListData = record
        Number: Integer;
        ItemName: string;
        AddTime: TDateTime;
      end;var
      AList: TList;
    procedure CreateList;
    var
      I: Integer;
      AListData: PListData;
    begin
      AList := TList.Create;
      for I := 0 to 100 do
      begin
        New(AListData);
        AListData.Number := I;
        AListData.ItemName := 'Item' + IntToStr(I);
        AListData.AddTime := Now;
        AList.Add(AListData);
      end;
    end;procedure FreeList;
    var
      I: Integer;
    begin
      for I := AList.Count - 1 downto 0 do
      begin
        Dispose(PListData(AList.Items[I]));
        AList.Delete(I);
      end;
      AList.Free;
    end;
      

  2.   

    如果item中的元素是对象的话要调用对象的free