Hallo Fabian,
auch Strings sind dynamische Strukturen. Wenn du keinen Speicher für den Inhalt anforderst, wirst du auch nichts laden können, sondern riskierst nur eine Schutzverletzung:
Delphi-Quellcode:
// b := '';
SetLength (b, 3);
container.Read(b[1], 3);
[...]
SetLength (b, 5);
container.Read(b[1], 5);
[...]
container.Read(FHeader.FileCount, SizeOf(FHeader.FileCount));
SetLength (FHeader.Sizes, FHeader.FileCount);
Den Inhalt von
Sizes könntest du sogar "in einem Rutsch" laden. Warum verwendest du für die Signaturen keine ShortStrings?
Gruß Hawkeye