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