Aus dem Record eine Klasse machen und statt einem Array oder TList die Klasse TObjectList verwenden.
Delphi-Quellcode:
tFileObj=class(TPersistent)
public
name : string;
ext : string;
path : string;
size : cardinal;
lastrd : tdatetime;
lastwr : tdatetime;
function Filename:string; // liefert name + ext
function FullFilename:string; // liefert path + Filename
procedure LoadFromSearchRec(const sr:TSearchRec); // kopiert Werte aus sr auf name,exe,size,...
procedure Assign(Source: TPersistent);override; // sollte man implementieren
end;
Leider gibt es viele Delphi-Programierer die den Schritt vom Record zur Klasse nicht vollziehen.
Ich vermute, dass es unter anderem daran liegt, dass man Objekt explizit freigeben muss.
Wobei hier aber TObjectList zur Hilfe kommt und die Sache angenehmer macht.