要想在其它項目中調(diào)用我們剛創(chuàng)建的Active Form,我們必須先將其注冊到Windows消息系統(tǒng)中,然后還要將其添加到Delphi的VCL類庫中,這樣在其它項目中才能找到該Active Form控件并進相應(yīng)的使用。
圖6 注冊Active Form對話框
點擊Component->Import ActiveX Control, 將會打開Import ActiveX 對話框(如圖6),點擊"Add"后在彈出的文件選擇對話框中定位并選中我們剛生成的Active Form控件ActiveFormProj1.ocx,點擊”打開”后,Delphi將會自動載入該ActiveX控件。如圖6所示的Import ActiveX對話框也進行了相應(yīng)的改變。
該操作只是向Windows消息系統(tǒng)注冊了該ActiveX控件(ActiveFormProj1.ocx),我們還可以通過如下方法向Windows消息系統(tǒng)注冊該ActiveX控件: Ø 在命令行(MS-DOS)下定位到ActiveFormProj1.ocx文件所在目錄,然后使用“Regsvr32 ActiveFormProj1.ocx ”注冊該ActiveX控件 Ø 在Delphi中,打開創(chuàng)建該ActiveX控件的工程(*.dpr)文件,然后選擇Run->Register ActiveX Server 注意,以上操作只是向Windows消息系統(tǒng)注冊了該ActiveX控件,但是并沒有將其添加到Delphi的VCL庫中。所以我們還無法在其它程序中對其調(diào)用。要想在其它程序中能調(diào)用該ActiveX控件,我們還需要進行如下設(shè)置和操作。那么,我們的ActiveX控件將會出現(xiàn)在Delphi的組件面板中,這樣我們在其它程序中才能像使用其它VCL控件一樣使用我們剛才創(chuàng)建的ActiveX控件(Active Form)。 |
如圖6,最上面顯示了載入的ActiveX控件的名稱、版本號和源文件路徑。
Ø Class names: 表示該ActiveX控件在Windows消息系統(tǒng)中的注冊名稱,默認為載入的Active Form的類名稱,你可以根據(jù)需要進行更改。
Ø Palette page: 表示將該ActiveX控件加載到Delphi組件面板中的哪個面板,默認為ActiveX面板。我們這里加載到默認面板Standard面板中。
Ø Unit dir name: 表示將該ActiveX控件加載到哪個目錄中,默認為".\Borland\Delphi7\Imports\",最好放在Delphi的Search Path中,否則在使用中可能會發(fā)生無法找到文件錯誤。
Ø Search path: 表示Delphi的查找目錄。如果上述的"Unit dir name:"指定了其它的目錄,在這里,我們也應(yīng)該添加相應(yīng)的目錄。
圖7 控件添加位置選擇對話框
以上設(shè)置完成以后,我們點擊"Install"按鈕將該ActiveX控件添加到Delphi的VCL庫。
點擊"Install"按鈕后,會彈出如圖7所示的Install對話框,讓我們選擇將該ActiveX控件添加到哪個包中。如圖7,默認的選擇是注冊到已有包(Into existing package)“\borland\delphi7\Lib\dclusr.dpk”中,我們也可以點擊"Browse..."按鈕選擇其它已存在的包文件(*.dpk),或者切換到"Into new package"面板創(chuàng)建一個新的包文件(*.dpk);
Descripiton表示對該包文件的說明。
點擊"Install"按鈕將該ActiveX控件添加到Delphi的VCL庫實質(zhì)是: 首先,將ActiveX控件的3個相關(guān)文件“ActiveFormProj1_TLB.dcr”、“ActiveFormProj1_TLB.dcu”、“ActiveFormProj1_TLB.pas”拷貝到Delphi安裝目錄下的Imports t文件夾(“\Borland\Delphi7\Imports”)中。如果文件已經(jīng)存在,會給出“文件已存在,是否替換”的提示信息。 其次,將控件信息添加到我們指定的包中,然后重新進行編譯,使新加入到ActiveX控件出現(xiàn)在Delphi的組件面板中 |
這里我們?nèi)渴褂媚J設(shè)置,將我們的Active Form控件添加到默認的”\borland\delphi7\Lib\dclusr.dpk”文件中。設(shè)置完成以后,點擊"ok"按鈕。將會出現(xiàn)如圖8所示的Package管理器,同時彈出如下信息對話框:“Package dclusr.bpl will be rebuilt, Continue?”,意思是說dclusr.bpl文件將會重新被編譯。如果你在前面指定將我們的Active Form加載到其它包或者自建的新包中,這里也會有相應(yīng)的提示信息。
圖8 Package管理器
點擊”OK”按鈕后,又會出現(xiàn)如圖9所示的提示信息:
圖9 Active Form添加成功信息