Das Problem dürfte sein, dass du die Länge der Strings vorher nicht pasend setzt. So sollte das gehen:
Delphi-Quellcode:
for i:=1 to 32 do
begin
Read(ds.Length_of_Reserve_string[i],sizeof(word));
SetLength(ds.Reserve_string[i], ds.Length_of_Reserve_string[i])
Read(ds.Reserve_string[i][1], ds.Length_of_Reserve_string[i]);
end;
Also: Erst die Länge des Strings aus der Datei lesen, diese Länge auf den String übertragen, und dann die Daten in den String laden, Startposition ist dann das erste Zeichen in dem String.
Being smart will count for nothing if you don't make the world better. You have to use your smarts to count for something, to serve life, not death.