我使用FastReport(评估版)主要是为了打印发票和报价单。我试图在我的数据源和应用程序逻辑之间保持分离,所以我想知道是否有一种简单的方法可以将 Delphi 对象直接公开给 FastReport。目前,我正在求助于自定义数据源,但这需要大量手动操作。
基本上,我想使用我已经实例化的 TInvoice 对象并使用 FastReport 打印它。
是否有人实现了公共(public)祖先类或接口(interface)来将 Delphi 对象作为数据源公开给 FastReport(或其他报告工具)?
编辑:我正在使用 Delphi XE。
最佳答案
使用 Delphi 2010 或更高版本,您可以使用位于此处的代码:
http://code.google.com/p/robstechcorner/source/browse/branches/rttiwork/ObjDS.pas
可以通过以下方式使用:
//typically created and declared someplace else
cds : TClientDataSet;
Invoice : TInvoice;
var
Mapper : TDataSetMapping;
begin
Mapper := TDataSetMapping.Create(cds);
Mapper.Value := Invoice;
// CDS is now populated with the values stored in Invoice
end;
关于delphi - 将对象公开给 Fastreport,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4739644/