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

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

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慧正在 火热销售中!>>查看价格详情

标签:

声明:本站部分文章及图片源自用户投稿,如本站任何资料有侵权请您尽早请联系jinwei@zod.com.cn进行处理,非常感谢!

上一篇 2021年6月10日
下一篇 2021年6月10日

相关推荐

发表回复

登录后才能评论