wenn schon, dann so
Delphi-Quellcode:
S := IntToStr(Data.clColor);
Len := Length(S);
Stream.write(Len, SizeOf(Len));
Stream.write(PChar(S)^, Len);
du hattest die Länge des in einen String umgewandelten Integers gespeichert
und dann versucht den Integer als Pointer anzusehn und das zu speichern, auf was dieser
zufällig zeigt.
Also sei froh, daß es nicht schon beim Speichern geknallt hat.
Die Länge kennst du SizeOf(TColor) = immer 4 Byte
also brauchst du diese nicht zu speichern, da sie sich nicht ändern wird.
Siehe oben (Beitrag #2):
- dein
Len ist ein Integer
- TColor ist im Prinzip auch ein Integer
> also einfach genauso speichern und auslesen, wie du es mit
Len auch schon machst