Hallo!
Ich kapier mal wieder garnix. Aus einem meiner letzten glaubte ich gelernt zu haben:
a,b: TMeinObjekt;
1) := Bedeutet
Delphi-Quellcode:
a := TMeinObjekt.Create;
a.Tag := 4;
b := a;
a.Tag := 5;
Ergebnis: a.Tag = 5; b.Tag = 5;
2) .Assign (ungefähr gleich "Objekt kopieren")
Delphi-Quellcode:
a := TMeinObjekt.Create;
b := TMeinObjekt.Create;
a.Tag := 4;
b.assign(a);
a.Tag := 5;
Ergebnis: a.Tag = 5; b.Tag = 4;
Irgendwie scheint das nicht der Fall zu sein.
Ich habe eine TComponentlist mit meinen TMeinObjekt.
3)
Delphi-Quellcode:
type
TFoo = class(TObject)
public
MeinObjekt: TMeinObjekt; // Wird mit NIL initialisiert etc.
end;
a := TMeinObjekt.Create;
MeineComponentList.Add(a); // schon vorher erschaffen etcetc
Foo := TFoo.Create;
a.Tag := 4;
Foo.MeinObjekt := MeineComponentList.Items[0];
Foo.MeinObjekt.Tag := 20;
Ergebnis: a.Tag = 4; Foo.MeinObjekt.Tag = 20;
Warum haben nun beide Objekte verschiedene Tags?
Thx für schnelle Antworten :/