Einzelnen Beitrag anzeigen

Udontknow

Registriert seit: 17. Jun 2002
223 Beiträge
 
#25

Re: Objekt kopieren

  Alt 30. Mai 2007, 14:51
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
  Mit Zitat antworten Zitat