翻譯|使用教程|編輯:楊鵬連|2021-07-13 10:37:56.893|閱讀 293 次
概述:注冊引擎時(在Delphi環(huán)境下)會放入FastReport組件面板中。只要將此組件放入項目中,Delphi 就會自動將我們引擎單元的鏈接添加到“使用”列表中。
# 界面/圖表報表/文檔/IDE等千款熱門軟控件火熱銷售中 >>
相關(guān)鏈接:
FastReport VCL是用于 Delphi、C++ Builder、RAD Studio 和 Lazarus 的報告和文檔創(chuàng)建 VCL 庫。它提供了可視化模板設計器,可以訪問 30 多種格式,并可以部署到云、網(wǎng)站、電子郵件和打印中。
	TfrxIBXComponents是我們應該創(chuàng)建的第一個組件;注冊引擎時(在Delphi環(huán)境下)會放入FastReport組件面板中。只要將此組件放入項目中,Delphi 就會自動將我們引擎單元的鏈接添加到“使用”列表中。應該在該組件中再分配一項任務,即在其中定義DefaultDatabase屬性,該屬性指的是與數(shù)據(jù)庫的現(xiàn)有連接。默認情況下,所有TfrxIBXTable和TfrxIBXQuery組件都將引用此連接。有必要從TfrxDBComponents類繼承組件:
  TfrxDBComponents = class(TComponent)
  public
    function GetDescription: String; virtual; abstract;
  end;
描述應僅由一個函數(shù)返回,例如“IBX 組件”。TfrxIBXComponents組件實現(xiàn)如下:
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慧正在網(wǎng)火熱銷售中!>>查看價格詳情
本站文章除注明轉(zhuǎn)載外,均為本站原創(chuàng)或翻譯。歡迎任何形式的轉(zhuǎn)載,但請務必注明出處、不得修改原文相關(guān)鏈接,如果存在內(nèi)容上的異議請郵件反饋至chenjj@ke049m.cn
文章轉(zhuǎn)載自: