I'm creating a generic list class that has a member of type Array(Array of ). The problem is the class destruction,because the class is supposed to be used for types from byte to types inheriting TObject.
Specifically:
destructor Destroy;
var elem:T;
begin
/*if(T is Tobject) then //Check if T inherits TObject {Compiler error!}
for elem in FData do TObject(elem).Free;*/ // do not know how to do it
SetLength(FItems,0); //FItems : Array of T
inherited Destroy;
end;
How do I check if T is TObject so I can free every member if the typeidenitifier is a class,for example?