Forum: Programmieren allgemein
by himitsu,
29. Okt 2009
wenn schon, dann so
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.
Forum: Programmieren allgemein
by himitsu,
29. Okt 2009
im Prinzip so
Stream.write(Data.Color, SizeOf(Data.Color));
oder einfach so
Stream.write(Data.Color, SizeOf(TColor));
oder wie/wo auch immer die Farbe abgelegt ist
alles was direkt als Daten vorliegt (Integer, Farben, ...) kann auch direkt gespeichert werden