Кто-нибудь знает о потомке TDataset, который работает с Generics и RTTI, чтобы я мог писать такой код и использовать компоненты с поддержкой данных в 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;
Это должно быть возможным.Fielddefs могут быть созданы через RTTI, потому что точный тип данных известен.Значения также можно автоматически маршалировать назад и вперед, так что вы можете как просматривать, так и редактировать данные в классе или записи.
Я ненавижу писать много бесполезного кода маршалинга, в то время как необходимая информация для этогоуже доступен через RTTI.
Или, может быть, кто-то когда-то написал какой-то адаптер TEnumerable <-> TDataset?
Существует ли что-то подобное или я должен начать писать?
...
Ближайшая вещь, которую я смог найти, - это (отлично!) пример от Marco Cantu из Mastering Delphi 7, но сам код этого не делаетиспользовать новые языковые функции, такие как дженерики, новая система RTTI или атрибуты, и это не работает с Unicode Delphi.TDataset также изменился с D7.