举个例子: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;
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;