delphi - 将对象公开给 Fastreport

标签 delphi delphi-xe fastreport

我使用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/

相关文章:

delphi - TOpenDialog - 压缩为文件

delphi - 同一[主]线程上的队列过程调用

delphi - 如何在 Firemonkey 中加载自定义光标?

delphi - TBitmap 到 TPngImage 和内存使用情况

delphi - 我如何使用delphi跟踪IP

Delphi XE 断开或终止 datasnap 客户端 session

delphi - 如何直接打印Fastreport而不显示打印对话框

delphi - 在快速报告6中禁用最小化

delphi - 避免在Windows Vista对话框中包装复选框标题