Probiers mal damit
Delphi-Quellcode:
TDatensatz = record
FStr1,
FStr2,
FStr3,
FStr4 : String[200];
end;
Der Delphi-String-Typ ist was spezielles. In deinem Record wird bei einfacher Angabe von String nur eine Zeiger auf einen Speicherbereich vermerkt, wo dann der String mit Länge und Refernzzählung liegt. D.h. in deiner Datei landet auch nur der Zeicher auf den eigentlichen String.
Mit String[200] wird wirklich soviel Speicher in deinem Record reserviert und auch entsprechend in deiner Datei gespeichert.
Windows Vista - Eine neue Erfahrung in Fehlern.