Moin moin,
also theoretisch könntest du ja anhand des Offsets die Länge der Strings berechnen - vermutlich wird bei dir PLZ ein Offset 0 haben und Ort Offset 7. Damit hättest du schon mal die Größe von PLZ.
Offset(Ort) - Offset(Plz) = 7
7 - 1 (1 Byte für die Längeninformation) = 6 = länge des Strings
Und die Größe vom letzten Feld könntest du anhand der Recordgröße - Offest(Ort) - 1 Byte ermitteln...
Das geht leider nur, wenn der Record als
packed deklariert ist oder mit {$A-} compilert, weil sonst die Werte ausgerichtet werden und bei 32 bit somit bei der Berechnung über die Offsets um bis zu 3 zu groß sein können - bei einem 64-bit Programm sind das dann 7.