Einzelnen Beitrag anzeigen

frodo81

Registriert seit: 19. Nov 2004
3 Beiträge
 
#1

Speichern von Objekten mit Stream

  Alt 23. Nov 2004, 07: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!
  Mit Zitat antworten Zitat