3番目のクラスで「E2511タイプパラメータ'T'はクラスタイプである必要があります」というメッセージが表示されます。
type TSomeClass=class
end;
ParentParentClass<T>=class
end;
ParentClass<T: class> = class(ParentParentClass<T>)
end;
ChildClass<T: TSomeClass> = class(ParentClass<T>)
end;
任意のデータ型(ParentParentClass)のライトジェネリック配列ラッパーを作成しようとしていますが、型の識別子を解放できないため(TがTObjectの場合はTobject(T).Free)、2番目のクラスを作成しました。クラス型に便利なので、オブジェクトを解放できます。
3番目のクラスはラッパーを使用する場所ですが、コンパイラーはそのエラーをスローします。どうすればコンパイルできますか?