Records haben im Zeitalter der OO ausgedient.
Ich würde Objekte/Klassen erstellen welche die Daten halten sollen. Mit generics würde ich dann eine TObjectList ableiten, welche die Datenobjekte aufnimmt.
Wenn wie OL nun auch noch die Objekte besitzt, dann braucht man sich nicht einmal um das freigeben kümmern.
ForEach wird ebenfalls unterstützt.
Weitere Überlegung: Warum soviel Code schreiben, welche Fehler enthalten kann, wenn schon alles fertig ist.
Die Records sind vorgegeben.
Und wo steht, das alles fertig sei?