将对象暴露给Fastreport

时间:2011-01-19 19:20:08

标签: delphi delphi-xe fastreport

我正在使用FastReport(评估版)主要打印发票和报价。我正在尝试维护我的数据源和应用程序逻辑之间的分离,所以我想知道是否有一种简单的方法将Delphi对象直接暴露给FastReport。目前,我正在使用自定义数据源,但这是很多手动摆弄。

基本上,我想要使用已经实例化的TInvoice对象并使用FastReport打印它。

是否有人实现了一个共同的祖先类或接口来将Delphi对象作为数据源暴露给FastReport(或其他报告工具)?

编辑:我正在使用Delphi XE。

2 个答案:

答案 0 :(得分:9)

使用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; 

答案 1 :(得分:0)