Darum speichert man auch keine "dynamischen" Strukturen. (dein Integer ist eigentlich ein LongInt)
Hätte man sie von Anfang an als "unveränderliche" Struktur ausgelegt, dann gäbe es jetzt keine Probleme.
In Deinem Fall kommt es jetzt drauf an, aber im Prinzip mußt'e nur rausbekommen, wie die Felder ausgerichtet waren und muß jetzt nur dafür sorgen, daß es jetzt wieder der Fall ist.
-
packed record
oder
-
{$ALIGN x}
(siehe
OH)
Vermutlich reicht hier das packed.
PS: Der
String[40]
war sowieso speichertechnisch sehr unglücklich gewählt, denn er ist 41 Byte groß, inkl. dem Längenbyte.