LongStrings und dymanische Arrays ja, dann aber nicht mehr in einem Record.
Du kannst maximal ein statisches Char-Array in den Record packen und über Record-Methoden/Property einen Stringzugriff darauf implementieren.
Oder du steigst auf Datenobjekte um und bastelst dir dafür entsprechende Speicherroutinen (hier kannst du z.B. auch TReader/TWreiter verwenden)
oder du nimmst persistente Datenopjekte und probierst es mit den entsprechenden Serialisierungsfunktionen der Streams, bzw. direkt über TReader/TWriter.