翻譯|使用教程|編輯:楊鵬連|2021-07-13 10:37:56.893|閱讀 277 次
概述:注冊引擎時(在Delphi環境下)會放入FastReport組件面板中。只要將此組件放入項目中,Delphi 就會自動將我們引擎單元的鏈接添加到“使用”列表中。
# 界面/圖表報表/文檔/IDE等千款熱門軟控件火熱銷售中 >>
相關鏈接:
FastReport VCL是用于 Delphi、C++ Builder、RAD Studio 和 Lazarus 的報告和文檔創建 VCL 庫。它提供了可視化模板設計器,可以訪問 30 多種格式,并可以部署到云、網站、電子郵件和打印中。
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@fc6vip.cn
文章轉載自: