Zitat von
Luckie:
Ich brauche jetzt doch eine Kopie der Objekte in der Collection. Deswegen habe ich alzaimars Clone-Methode versicht zu implementieren:
Zitat von
alzaimar:
Delphi-Quellcode:
Function TMyCollection.Clone : TMyCollection;
Var
i : Cardinal;
Begin
Result := TMyCollection.Create;
// <Copy Attributes>
For i:=0 to Count- 1 do
Result.Add (Items[i].Clone);
End;
Allerdings sagt er mir in Zeile 9, dass er die Methode
Clone nicht kennt. Ist ja auch klar, das ist ja eine Methode von
TMyCollection und nicht von
Items. Wie geht denn das jetzt weiter? Muss ich die Items selber um die Clone-Methode erweitern? Und wenn ja, wie sieht das aus?
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.
Delphi-Quellcode:
Function TMyCollection.Clone : TMyCollection;
Var
i : Cardinal;
Begin
Result := TMyCollection.Create;
// <Copy Attributes>
For i:=0 to Count- 1 do
Result.Add (TMyCollectionItem(Items[i]).Clone);
End;
Cu,
Udontknow