Hier mal ein Beispiel mit einer bordeigenen TList<T>. Man beachte die Verwendung von
List anstatt
Items:
Delphi-Quellcode:
type
PMyRecord = ^TMyRecord;
Function RecordAusListe(aName:String) : PMyRecord;
Begin
Result := @MyRecordLIST.List[IndexOfName(aname)];
end;
Procedure Tuwas;
var myRec:PMyRecord;
Begin
myrec := RecordAusListe('Peter');
myRec.Hitpoints := 5;
// oder
RecordAusListe('Peter').Hitpoints := 5; // das compiliert im ursprünglichen Code gar nicht
end;