Hola Jhonny gracias por tu respuesta,
pero creo que no me he sabido explicar bien, el problema es como declarar una variable de mi propia clase genérica.
El siguiente código usando la clase TLIST funciona perfectamente
Código Delphi
[-]Unit Unit1
type
TForm1 = class(TForm)
private
FMiList: TList;
public
property MiList:TList read FMiList write FMiList;
end;
...
end.
Código Delphi
[-]
Unit unit2
type
TDataClass = class
...
data:integer;
end;
TMiListData = class(TList< TDataClass >)
end;
....
var
Form1:TForm1;
begin
Form1:=TForm1.Create(Application);
Form1.MiList:=TMiListData.Create;
...
end;
Y ahora sobre ese código yo pretendo usar una clase genérica propia derivada de la clase TLIST
Código Delphi
[-]
Unit Unit1
type
TMiList< T >=class(TList< T >)
...
end;
TForm1 = class(TForm)
private
FMiList: TMiList;
public
property MiList:TMiList read FMiList write FMiList;
end;
...
end.
Código Delphi
[-]
Unit unit2
type
TDataClass = class
...
data:integer;
end;
TMiListData = class(TMiList< TDataClass >)
end;
....
var
Form1:TForm1;
begin
Form1:=TForm1.Create(Application);
Form1.MiList:=TMiListData.Create;
...
end;
...
El código es muy parecido en general, solo he sustituido la clase TLIST por una nueva clase derivada de TLIST, llamada TMiList.
Y entonces obtengo en UNIT1 el error anteriormente mencionado en la linea de la definición de la variable FMiList : TMiList.
El problema imagino que es un problema de sintaxis, pero ya he probado con TMiList y TMiList<T> pero no consigo que funcione. ¿Alguna idea al respecto?