VBCOM基礎講座之編譯的實例選項
在測試文件組件之前,我們必須先編譯它。但在進行這項工作之前,讓我們先來瀏覽一下Visual Basic所給出來的一些額外選項。
在打開FileCheck代碼窗口的同時,我們來看看它的屬性窗口。
屬性有Name、DataBindingBehaviour(用于將類和數據源相"綁定")、可持久性(用于控件中,允許保存某個類的屬性)以及實例。
當類名屬性修改后,我們或許不必擔心前三項的屬性。那么什么是實例呢?
實例(Instancing)屬性決定自己的類對于使用ActiveX組件的應用程序來說是否可見。若可見,則在任何時候可運行不止一個的實例。
實例屬性有很多選項,我們來看一下:
MultiUse —— 這可能是最常用的選項。它只提供給其他應用程序一個組件的實例,這個實例可以提供多個對象。這樣就節約了內存空間并允許用戶共享全局變量。
Private —— 除該組件內的對象,類對于其他對象是不可見的。它通常用于類單獨被類中的其他對象所訪問。
GlobalMultiUse —— 這個類的各種屬性和方法可以象簡單的全局函數那樣被調用。另外,在VB中該類的實例不需要顯式創建,因為它會自動創建。各種屬性和方法都可從單獨的一個組件實例中調用。
PublicNotCreatable —— 它表示只有在創建實例的前提下,該類才是可見的。換句話說,用戶不能用New關鍵詞創建一個類對象。用戶的類對象必須選被創建,然后才可使用。這有點像DAO的記錄集,用戶不能創建一個新的記錄集,而只能用OpenRecordset方法簡單地打開它。
SingleUse —— 它表示每次在代碼中開始的一個組件的新的實例,只能運行另一個ActiveX組件的實例。換句話說,每個實例都獲得自己的"進程空間"。雖然還有一些限制,沒有什么奇怪的,它和MultiUse是相對的。
GlobalSingleUse —— 類似于GlobalMultiUse,除了代碼中創建的對象運行一個組件的新實例。
上述選項,我們很少全部都使用過。毫無疑問,MultiUse是最常見的,其次是Private和GlobalMultiUse,其他的一般很少使用。當然,我們不禁要問,在創建ActiveX DLLs時,我們能得到多少這樣的選項呢?答案是明確,因為它們的工作方式是相同的。
好了,非常抱歉在前面過程中耽擱太多的時間,不過若不論及這些不常使用的實例選項,那么又有人會抱怨了。
行啦,讓我們編譯并測試我們的ActiveX EXE組件吧!
選擇"File"->"Make File.exe";
選擇一個文件名,然后按[OK]。
下一節,我們將創建一個測試應用程序。
在打開FileCheck代碼窗口的同時,我們來看看它的屬性窗口。
屬性有Name、DataBindingBehaviour(用于將類和數據源相"綁定")、可持久性(用于控件中,允許保存某個類的屬性)以及實例。
當類名屬性修改后,我們或許不必擔心前三項的屬性。那么什么是實例呢?
實例(Instancing)屬性決定自己的類對于使用ActiveX組件的應用程序來說是否可見。若可見,則在任何時候可運行不止一個的實例。
實例屬性有很多選項,我們來看一下:
MultiUse —— 這可能是最常用的選項。它只提供給其他應用程序一個組件的實例,這個實例可以提供多個對象。這樣就節約了內存空間并允許用戶共享全局變量。
Private —— 除該組件內的對象,類對于其他對象是不可見的。它通常用于類單獨被類中的其他對象所訪問。
GlobalMultiUse —— 這個類的各種屬性和方法可以象簡單的全局函數那樣被調用。另外,在VB中該類的實例不需要顯式創建,因為它會自動創建。各種屬性和方法都可從單獨的一個組件實例中調用。
PublicNotCreatable —— 它表示只有在創建實例的前提下,該類才是可見的。換句話說,用戶不能用New關鍵詞創建一個類對象。用戶的類對象必須選被創建,然后才可使用。這有點像DAO的記錄集,用戶不能創建一個新的記錄集,而只能用OpenRecordset方法簡單地打開它。
SingleUse —— 它表示每次在代碼中開始的一個組件的新的實例,只能運行另一個ActiveX組件的實例。換句話說,每個實例都獲得自己的"進程空間"。雖然還有一些限制,沒有什么奇怪的,它和MultiUse是相對的。
GlobalSingleUse —— 類似于GlobalMultiUse,除了代碼中創建的對象運行一個組件的新實例。
上述選項,我們很少全部都使用過。毫無疑問,MultiUse是最常見的,其次是Private和GlobalMultiUse,其他的一般很少使用。當然,我們不禁要問,在創建ActiveX DLLs時,我們能得到多少這樣的選項呢?答案是明確,因為它們的工作方式是相同的。
好了,非常抱歉在前面過程中耽擱太多的時間,不過若不論及這些不常使用的實例選項,那么又有人會抱怨了。
行啦,讓我們編譯并測試我們的ActiveX EXE組件吧!
選擇"File"->"Make File.exe";
選擇一個文件名,然后按[OK]。
下一節,我們將創建一個測試應用程序。