Registriert seit: 19. Nov 2004
3 Beiträge
|
Speichern von Objekten mit Stream
23. Nov 2004, 08:46
Grüss euch!
Folgendes Problem:
Ich möchte bestimmte (selbst gebastelte) Objekte via Stream in ein file (bspl. *.txt) speichern, und dann wieder daraus herauslesen. Wie macht man das? Bislang versuchte ich die Adresse des Objektes zu speichern und dann so wieder daran zu gelangen:
// Speichern
// p: ^TmyObject;
// Stream: TmyStream;
// tmpObj: TmyObject
for count := 0 to SomeInteger do begin
tmpObj := myObjectList.myObjects[count];
p := @tmpObj;
count2:= sizeOf(p);
Stream.Write(count2,SizeOf(integer));
Stream.Write(p,SizeOf(p));
end;
// das Lesen wäre dann analog...
for count1 := 0 to SomeInteger do begin
Stream.Read(count2,sizeOf(integer));
Stream.Read(p,count2);
tmpObj := p^;
end;
Ich erhalte hiermit zwar den selben wert für p (z.B. $12F55C), wie er beim Schreiben
auch abgespeichert wurde, aber dummerweise für jeden Schleifendurchgang immer wieder
den selben... Nützt also nix! Kann mir jemand helfen???
Danke!
|