Indem Du dir klar machst, was ein Pointer ist
Ein Objekt, zumindest so wie es in Delphi angesprochen, ist ein 4 Byte grosser Speicherbereich, der lediglich auf den Speicherplatz verweist, wo deine Objektdaten abgelegt sind. Jetzt kannst Du natürlich 2 Variablen anlegen, die auf ein und die gleiche Objektinstanz verweisen. Das Ändern von Attributen bewirkt dann natürlich das Ändern in der gleichen Instanz, egal über welche Variable du zugreifst. Beispiel:
Delphi-Quellcode:
type
TTest = class
public
AnyText : string ;
end ;
implementation
procedure TForm1.foo ;
var
T1, T2 : TTest ;
begin
T1 := TTest.Create ;
T2 := T1 ;
T1.AnyText := 'Jelly' ;
showmessage (T2.AnyText) ; // Gibt Jelly aus
end ;
end.
Ich das das sollte als Hinweis genug sein, damit Du dein Problem in den Griff kriegst. Du musst eben dafür Sorgen, dass Du unterschiedliche Objekte in den Data-Pointer reinpackst.