Array(Array of ) 型のメンバーを持つジェネリック リスト クラスを作成しています。問題は、クラスが byte から TObject を継承する型までの型に使用されることになっているため、クラスの破棄です。
具体的には:
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;
たとえば、T が TObject であるかどうかを確認して、typeidentifier がクラスの場合にすべてのメンバーを解放するにはどうすればよいですか?