Ein Alternative zum Record wäre ein
Memory-Dataset; also eine Tabelle, die im Hauptspeicher liegt.
Damit kannst du zur Laufzeit Felder hinzufügen.
Ausserdem hast du nützliche Zusatzfunktionen wie z.B. Suchen mit Locate und Sortieren nach best. Feldern.
Ein Nachteil ist natürlich der Overhead, den ein Memory-Dataset mitbringt.
http://www.torry.net/pages.php?id=572
Empfehlenswert ist
TkbmMem Table.
Bei sehr grossen Datenmengen kann obige Komponente sogar weniger Speicher benötigen
(wg. eingebauter Komprimierung) und wesentlicher schneller Datensätze finden als ein Array of Records.