Delphi - 通用数据模块

时间:2012-08-08 09:31:03

标签: delphi generics datamodule

我正在尝试定义泛型数据模块,如下所示:

TDM<T> = class(TDataModule)
public
  function GetValue:T;virtual;abstract;
end;

但是当我这样做时,Delphi误解了数据模块并认为它的形式(添加了表单属性,如Client Width,Font,...到.dfm文件)。 我希望这个数据模块只用于继承,所以我试着把它作为没有.dfm文件的简单类,然后创建继承自它的真正数据模块(带.dfm文件)。 例如:

TDataModule2 = class(TDM<Integer>)
public
  function GetType:Integer;override;
end;

一切看起来都很棒,但只有时刻,当我关闭并打开项目时。在项目开放时,Delphi再次将TDataModule2解释为表单(由于某种原因导致异常)。

我正在使用Delphi XE。 有没有办法让这成为可能?

0 个答案:

没有答案