Jo, wenn es weniger geschrieben wird, bleiben die alten Bytes ja vorhanden, wenn das mehr waren. (fmOpenReadWrite überbreibt ja nur)
oder nach dem Speichern noch ein
LStream.Size := LStream.Position;
(ich glaub direkt eine Abschneiden-Funktion hat man in der
RTL vergessen),
bzw. vor dem speichern ein
LStream.Size := 0;