本文中的程序原為VC++所編寫,略改動一些,將程序用C++Builder編寫。
ActiveX控件是一個動態鏈接庫,是作為基於COM服務器進行操作的,並且可以嵌入在包容器宿主應用程序中,ActiveX控件的前身就是OLE控件。由於ActiveX控件與開發平台無關,因此,在一種編程語言上開發的ActiveX控件可以無須作任何修改,即可在另一種編程語言中使用,其效果如同使用Windows通用控件一樣。如:在VC++中開發的ActiveX控件,不作任何修改即可應用於VB中。由此可見,通過使用ActiveX控件即可實現快速小型的組件重用、代碼共享,從而提高編程效率。
----從Internet下載的ActiveX控件,或從其他途徑得到的ActiveX控件,用戶應該怎樣做才能正確使用呢?一般來說,一個外來ActiveX控件要在Windows中被正確使用,首先必須將控件文件(*.OCX)復制到硬盤中,然後將其在Windows中注冊,未在Windows中注冊過的ActiveX控件是不能使用的。注冊ActiveX控件一般來說有三種途徑,適用范圍不同,各有各的優點,下面分別討論。
一、使用Regsvr32.exe程序對ActiveX控件進行注冊
----對於未注冊過的ActiveX控件可使用此軟件對其進行注冊,外來ActiveX控件要應用到自己的程序中也必須進行注冊。該文件位於Windows目錄的system子目錄下。使用方法如下:點擊“開始”→“運行”;在運行對話框中輸入以下命令:
regsvr32 <文件名> 注冊一個ActiveX控件
regsvr32 /u <文件名> 解除某ActiveX控件的注冊
----我們使用一些帶ActiveX控件的應用程序時,有時會出現不能運行的情況,這有可能是其自帶ActiveX控件未注冊所至,這時不妨使用上述命令一試。
二、使用安裝程序
制作軟件:InstallShield
----使用regsvr32.exe來注冊ActiveX控件雖然簡單,但需要用戶手工注冊,在不用時還得手工解除注冊,因此,這對一個應用程序來說並非好的解決方案。大型應用軟件一般都有一個安裝程序,在安裝程序中解決ActiveX控件注冊是較為理想的一種方案。使用InstallShield可以制作出專業級的Setup,還可注冊其中的ActiveX控件;而且,在以後攜載軟件時,自動注銷掉以前注冊的ActiveX控件。方法如下:
啟動InstallShield,使用ProjectWizard建立一個新的項目;
新建一個“FileGroup”,將需要注冊的ActiveX控件文件放入此“FileGroup”中;
將上述“FileGroup”的“Self-Registered”屬性設置成“Yes”。
----上述步驟僅為制作Setup中設置自動注冊ActiveX控件幾步,至於使用InstallShield怎樣制作一個完整的Setup不在本文討論范圍之中,請讀者自己參看有關書籍。