注册引擎时(在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进行处理,非常感谢!