是否有人知道可以与泛型和RTTI一起使用的TDataset后代,以便我可以编写这样的代码,并在GUI中使用数据感知组件? :
...
ds:TDataset<TPerson>;
...
procedure DoStuff;
begin
ds:=TDataset<TPerson>.create;
ds.add(TPerson.Create('A.','Hitler',77));
ds.add(TPerson.Create('O.','Bin Laden',88));
end;
这应该是可能的。可以通过RTTI创建fielddef,因为知道确切的数据类型。值也可以自动来回整理,因此您可以查看和编辑类或记录中的数据。
我讨厌不得不编写许多无用的编码代码,而所需的信息已经可以通过RTTI获得。
也许有人曾经写过某种TEnumerable TDataset适配器?
是否存在类似的内容,还是我应该开始写一个?
...
我能找到的最接近的东西是Mastering Delphi 7的Marco Cantu撰写的(excel!)example,但是代码本身并未使用诸如泛型,新的RTTI系统或属性之类的新语言功能,并且它没有不能与Unicode delphi一起使用。从D7开始,TDataset也发生了变化。
最佳答案
TMS Aurelius中包含的TAureliusDataSet与此非常接近。