PS: das "gute" alte
file of TMyRecord
funktioniert immernoch.
Externe Records
NIEMALS pur definiert, sondern ausschließlich PACKED oder mit explizitem
{$ALIGN x}
(direkt davor oder über die ganze Datei)
und
{$ALIGN 1} = PACKED
, egal ob Datei, Stream oder sonstwas.
denn du willst ja nicht, dass sich die Ausrichtugn irgendwann mal ändert und es dann nicht mehr zu deiner Datei passt.
Extern = von/nach außerhalb deines Programms.
(mit der Ausnahme, dass wenn die Datei/Stream ausschließlich nur von der eigenen EXE geschrieben/gelesen wird und das nicht über Programminstanzen hinweg)
AnsiChar war schonmal gut (kann auch für UTF-8 genutzt werden) oder eben WideChar, wegen
Unicode.
Denn dynamische/compilerabhängige Typen sind auch verboten.