Mit deinem Record und deinem Array bildest du ja im Grunde nur ein Dataset nach.
Du bist allerdings recht unflexibel, da du keine Suchfunktion (Locate) hast.
Löschen ist auch schwierig, denn es entsteht ja ein Loch und du musst alle restlichen Datensätze verschieben.
Es gibt aber auch
Memory-Datasets, die deinen Record und das Array komplett ablösen.
Nachteil: dein Programm wird etwas "dicker" und das Einfügen von Daten etwas langsamer (im Millisekundenbereich, das spürt der User nicht)
Vorteile:
Problemlose Anbindung an FastReport
Such- und Filtermöglichkeiten durch das Dataset
Du kannst deine Daten problemlos in einem DBGrid anzeigen/editieren
Exportmöglichkeiten für deine Daten
In deiner Enterprise Version hast du ja das
TClientDataset, was unter anderem ja auch ein Memory-Dataset ist.
http://delphi.about.com/od/usedbvcl/...entdataset.htm