彩票走势图

FastReport VCL报表开发人员手册:Delphi 面板组件

翻译|使用教程|编辑:杨鹏连|2021-07-13 10:37:56.893|阅读 191 次

概述:注册引擎时(在Delphi环境下)会放入FastReport组件面板中。只要将此组件放入项目中,Delphi 就会自动将我们引擎单元的链接添加到“使用”列表中。

# 慧都年终大促·界面/图表报表/文档/IDE等千款热门软控件火热促销中 >>

相关链接:

FastReport VCL是用于 Delphi、C++ Builder、RAD Studio 和 Lazarus 的报告和文档创建 VCL 库。它提供了可视化模板设计器,可以访问 30 多种格式,并可以部署到云、网站、电子邮件和打印中。

立即点击下载FastReport VCL v6.9最新版

TfrxIBXComponents是我们应该创建的第一个组件;注册引擎时(在Delphi环境下)会放入FastReport组件面板中。只要将此组件放入项目中,Delphi 就会自动将我们引擎单元的链接添加到“使用”列表中。应该在该组件中再分配一项任务,即在其中定义DefaultDatabase属性,该属性指的是与数据库的现有连接。默认情况下,所有TfrxIBXTable和TfrxIBXQuery组件都将引用此连接。有必要从TfrxDBComponents类继承组件:

  TfrxDBComponents = class(TComponent)
  public
    function GetDescription: String; virtual; abstract;
  end;
描述应仅由一个函数返回,例如“IBX 组件”。TfrxIBXComponents组件实现如下:
type
  TfrxIBXComponents = class(TfrxDBComponents)
  private
    FDefaultDatabase: TIBDatabase;
    FOldComponents: TfrxIBXComponents;
  public
    constructor Create(AOwner: TComponent); override;
    destructor Destroy; override;
    function GetDescription: String; override;
  published
    property DefaultDatabase: TIBDatabase read FDefaultDatabase write FDefaultDatabase;
  end;

var
  IBXComponents: TfrxIBXComponents;

constructor TfrxIBXComponents.Create(AOwner: TComponent);
begin
  inherited;
  FOldComponents := IBXComponents;
  IBXComponents := Self;
end;

destructor TfrxIBXComponents.Destroy;
begin
  if IBXComponents = Self then
    IBXComponents := FOldComponents;
  inherited;
end;

function TfrxIBXComponents.GetDescription: String;
begin
  Result := 'IBX';
end;
我们定义了 IBXComponents 全局变量,它将引用TfrxIBXComponents组件复制。如果您多次将组件放入项目中(尽管这是毫无意义的),您仍然可以保存到前一个组件的链接并在删除组件后恢复它。

可以将项目中已存在的连接到 DB 的链接放置到DefaultDatabase属性中。我们将编写的方式TfrxIBXTable,TfrxIBXQuery组件允许它们默认使用此连接(实际上,这就是我们需要 IBXComponents 全局变量的目的)。

如果您对 FastReport 感兴趣,欢迎加入 FastReport QQ 交流群:702295239

还想要更多吗?您可以点击阅读【FastReport报表2021最新资源盘点】查找需要的教程资源。上是FastReport .NET慧正在网火热销售中!>>查看价格详情


标签:

本站文章除注明转载外,均为本站原创或翻译。欢迎任何形式的转载,但请务必注明出处、不得修改原文相关链接,如果存在内容上的异议请邮件反馈至chenjj@cahobeh.cn

文章转载自:

为你推荐

  • 推荐视频
  • 推荐活动
  • 推荐产品
  • 推荐文章
  • 慧都慧问
扫码咨询


添加微信 立即咨询

电话咨询

客服热线
023-68661681

TOP