Zitat von
Hawkeye219:
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);
Ah... Danke
Ich dachte, dass hätte sich mit der Längenangabe (string[3]) getan
Zitat von
Hawkeye219:
Den Inhalt von Sizes könntest du sogar "in einem Rutsch" laden.
Und wie geht das? Indem ich das array und nicht die Einträge speichere?
Zitat von
Hawkeye219:
Warum verwendest du für die Signaturen keine ShortStrings?
Weiss ich auch nicht
Kann man da den auch längen festsetzen?
[edit]Nein => Länge immer 256 Byte
Und da sind die anderen Strings kleiner
(4 und 6 Byte)[/edit]
PS: Jetzt funktionierts
Danke Hawkeye!