Pytanie mniej więcej mówi wszystko. Biorąc pod uwagę następujący zapis struktura:Czy muszę przydzielać i usuwać rekordy podczas używania TList <T> w Delphi?
type
TPerson = record
Name: string;
Age: Integer;
end;
PPerson = ^TPerson;
TPersonList = TList<TPerson>;
jest następujący kod jest ważny?
procedure ReadPeople(DataSet: TDataSet; PersonList: TPersonList);
begin
PersonList.Count := DataSet.RecordCount;
if DataSet.RecordCount = 0 then
Exit;
DataSet.First;
while not DataSet.Eof do begin
PersonList[DataSet.RecNo].Name := DataSet.FieldByName('Name').AsString;
PersonList[DataSet.RecNo].Age := DataSet.FieldByName('Age').AsInteger;
DataSet.Next;
end;
end;
Czy muszę używać GetMem
/FreeMem
przydzielić i wolne rejestruje wystąpienie TPersonList
, czy jestem wolny bezpośredni dostęp do TPersonList
wpisy bezpośrednio? Mój żołądek mówi, że kod powinien być ważny, chociaż nie jestem pewien, czy są jakieś zmarszczki związane z inicjowaniem lub finalizacją rekordu.
Awesome. Dziękuję Ci! Teraz muszę zdecydować, czy rekordy lub klasy będą miały większy sens w użyciu dla moich obiektów biznesowych. – afrazier