基本オブジェクト クラスのサブクラスを保持するように設計されたカスタム TObjectList 子孫を作成しました。次のようになります。
interface
TMyDataList<T: TBaseDatafile> = class(TObjectList<TBaseDatafile>)
public
constructor Create;
procedure upload(db: TDataSet);
end;
implementation
constructor TMyDataList<T>.Create;
begin
inherited Create(true);
self.Add(T.Create);
end;
新しいリストはそれぞれ、空白のオブジェクトが 1 つで始まるようにしたいと考えています。とても簡単ですよね?しかし、コンパイラはそれを好まない。それは言います:
「型パラメーター宣言でコンストラクター制約なしで新しいインスタンスを作成できません」これはジェネリック関連のものであるとしか思えません。何が起こっているのか、このコンストラクターを機能させる方法を知っている人はいますか?