Mach doch im Record eine Integer-Variable von der Länge. und dan schreibst du den String direkt rein.
Das geht mit Stream.Write(String[1],Länge);
Warum ein zusätzliches Feld im Record? Warum nicht wie ich oben unter dem Link geschrieben habe alles gekapselt?
Das halte ich für die sinnvollere Lösung.