Also wenn ich deinen Code so anschaue, tun mir die Augen weh.
Delphi-Quellcode:
FileStream.Write(b, SizeOf(Integer)); // Memo1
FileStream.Write(a[1], b);
FileStream.Write(d, SizeOf(Integer)); // Memo2
FileStream.Write(c[1], d);
....
Wie wäre es denn, wenn du eine
Unterfunktion schreiben würdest ??!!
procedure SaveAnsiStringToStream(stream:TStream; const s:AnsiString);
Und bitte danach die ganzen unnötigen Variablen a,b,c,d,... entsorgen.
Danach ist der Code so vereinfacht, dass Reihenfolgefehler sofort auffallen.