Einzelnen Beitrag anzeigen

Alexander I

Registriert seit: 16. Mai 2014
18 Beiträge
 
Delphi XE5 Starter
 
#1

Kopieren einer generischen TObjectListe<T>

  Alt 20. Mai 2014, 10:01
Hallo,

ich möchte eine generische TObjectList<T> kopieren können.

Für den einfachen Fall TObjectList<T> habe ich eine Kopiermethode.

Aber es könnte auch TObjectList<TObjectList<T>> sein.

Dafür wollte ich die Assign Methode benutzen:  Assign(genericContainer, laCopy ,_genericContainer); .
==> [dcc32 Fehler] GenericContainer.pas(48): E2010 Inkompatible Typen: 'TList' und 'System.Generics.Collections.TObjectList<GenericCo ntainer.TGenericContainer<T>.T>'


Items mag er auch nicht :  Assign(genericContainer.Items[i], laCopy ,_genericContainer.Items[i]); ==>>> [dcc32 Fehler] GenericContainer.pas(48): E2010 Inkompatible Typen: 'TList' und 'T'

Wie könnte man das anstellen?


Delphi-Quellcode:
type TGenericContainer<T : class> = class(TObjectList)
  
 constructor Create(genericContainer :TObjectList<T>) overload;

end;

implementation

 constructor TGenericContainer<T>.Create(genericContainer : TObjectList<T>);
 var i : int;
  
 begin
  
 inherited Create();

 _genericContainer := TObjectList<T>.Create;

 for i:= 0 to genericContainer.Count-1 do
 
   Assign(genericContainer, laCopy ,_genericContainer); // Hier sollte der Inhalt von genericContainer nach _genericContainer kopiert werden

 end;

end.
Gruß

Alexander
  Mit Zitat antworten Zitat