Как я могу получить набор данных объектов в памяти?

Кто-нибудь знает о потомке TDataset, который работает с Generics и RTTI, чтобы я мог писать подобный код и использовать компоненты с поддержкой данных в графическом интерфейсе? :

...
ds:TDataset;
...

procedure DoStuff;
begin    
  ds:=TDataset.create;
  ds.add(TPerson.Create('A.','Hitler',77));
  ds.add(TPerson.Create('O.','Bin Laden',88));
 end; 

Это должно быть возможным. Fielddefs можно создать с помощью RTTI, поскольку известен точный тип данных. Значения также можно автоматически упорядочивать туда и обратно, поэтому вы можете просматривать и редактировать данные, которые находятся в классе или записи.

Я ненавижу писать много бесполезного маршалингового кода, в то время как необходимая информация для этого уже доступна через RTTI.

Или, может быть, кто-то когда-то написал какой-то адаптер TEnumerable TDataset?

Что-то подобное существует, или мне начать писать его?

...

Ближайшее, что я смог найти является (отличным!) примером Марко Канту из Mastering Delphi 7, но сам код не использует новые функции языка, такие как дженерики, новую систему RTTI или атрибуты, и он не не работает с Unicode delphi. TDataset тоже изменился с D7.

8
задан Wouter van Nifterick 2 March 2012 в 13:02
поделиться