As voltas com código legado…

Encontra-se no GIT o código para carregar um TObject ou TClass diretamente em um Dataset.
A implementação faz uso de RTTI para ler as propriedades do objeto e mapeia os tipo para as colunas do TJvMemoryData do JEDI (depende de ter instalado o JEDI-JvMemoryDataSet).

Clone para FireDAC

Exemplo de uso:

[code lang=”pascal”]

// Exemplo de uma classe para mapear no Dataset
TMinhaClasse = class
private
….
published
property Nome: string read FNome write SetNome;
property id: integer read Fid write Setid;
property valor: double read Fvalor write Setvalor;
property Data: TDatetime read Fdata write Setdata;
property Dinheiro: Currency read FDinheiro write SetDinheiro;
property Cliente: double read FCliente write SetCliente;
end;

…..
uses Data.ObjectDataSet;
…..
// iniciando o Dataset com o link da Classe…
var ods:TObjectDataset;
begin
ods := TObjectDataset.Create(self, TMinhaClasse);
//DataSource1.DataSet := ods; // associa o Dataset a um Datasource
ods.Open;
end;

[/code]

Código Fontes no GIT