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