Forum: Object-Pascal / Delphi-Language
by Udontknow,
30. Mai 2007
Du meinst sicherlich CollectionItem anstelle TMyCollection? Für die Item-Klasse musst du ja ebenso eine Clone-Routine implementieren. Dann castest du einfach auf TMyCollectionItem, da es sich hierbei ja um Instanzen dieser Klasse handelt.
Function TMyCollection.Clone : TMyCollection;
Var
i : Cardinal;
Begin
Result := TMyCollection.Create;
// <Copy Attributes>
For i:=0 to Count-...
Forum: Object-Pascal / Delphi-Language
by Udontknow,
25. Mai 2007
Ich denke, daß kann man verneinen. Eine ObjectList weiss ja nur, daß es sich um Objekte handelt, hat aber keine Ahnung, wie sie diese nun klonen soll. Ansonsten müsste es ja bereits in TObjekt eine als virtuell deklarierte Methode geben, die TObjectList dann ansteuern könnte.
Cu,
Udontknow
Forum: Object-Pascal / Delphi-Language
by Udontknow,
25. Mai 2007
Ein anderer Weg:
Ich implementiere bei vielen Objekten die Routinen LoadFromStream & SaveToStream. Die kann man dann natürlich hervorragend nutzen, um mittels MemoryStream ein Assign zu implementieren...
Cu,
Udontknow
Forum: Object-Pascal / Delphi-Language
by Udontknow,
24. Mai 2007
Hallo!
Ohne jetzt die zweite Prozedur richtig verstanden zu haben: Im Konstruktor rufst du ja FInnerList.Assign auf. Wie ist FInnerlist.Assign definiert? Eventuell kopierst du hier nur die Zeiger der Objekte von einer Liste in die andere...
Edit:Ist ein TList-Objekt, ergo nur Zeiger damit kopiert... :)
Cu,
Udontknow