在用VB編程中合理的使用第三方控件,往往能夠事半功倍。但是使用第三方控件也有不好的地方,那就是為了保證程序正常運行,必須使程序能夠在系統(tǒng)目錄或程序目錄下找到所用的第三方控件。要做到這一點通常有兩種辦法:一是把控件和程序制成一個壓縮包發(fā)行,這樣的缺點是有可能導致在程序傳播過程中丟失控件文件。二是制作安裝程序,缺點是制作過程煩瑣。而且上面兩種辦法也不符合綠色軟件的要求。所謂的綠色軟件是指軟件只有單個可執(zhí)行文件且無須安裝,目前很受用戶歡迎。那么有沒有辦法在使用了第三方控件的情況下實現(xiàn)綠色軟件夢呢?答案是有。
做法是,將第三方控件以自定義資源文件方式保存在程序中,程序運行之后使用控件之前將所用到的控件生成到該程序目錄下,完成控件從可執(zhí)行文件中的金蟬脫殼。
具體做法如下:
第一步:將要用到的控件拷貝到當前工程目錄下,右鍵單擊該控件,選擇屬性,記下文件大小。注意,應記下以字節(jié)為單位的具體數字,而不是多少K,以備編程使用。
第二步:引用并正常使用該控件。
第三步:新建資源文件加入工程,在資源文件編輯器中添加所使用的第三方控件為自定義資源(CUSTOM),資源號使用默認的101。如果使用了多個控件則分別添加到資源文件的101、102......資源項中,脫殼代碼也要作相應的修改。
第四步:編寫控件脫殼代碼,使其讀取資源文件的數據,在程序當前目錄下生成控件。
代碼如下:
Private Const OCXSIZE = 57344 '欲生成的控件大小是57344Byte,名字為CoolToolBar.ocx
Sub Main()
Dim Ocx() As Byte 'OCX是個Btye類型的數組
Dim Counter As Long
Ocx = LoadResData(101, "CUSTOM") '將自定義資源中101號資源讀入數組OCX
'注意,微軟的幫助中對加載自定義資源的說明有錯誤,自定義資源標識為"CUSTOM"而不是幫助所說的數字10
做法是,將第三方控件以自定義資源文件方式保存在程序中,程序運行之后使用控件之前將所用到的控件生成到該程序目錄下,完成控件從可執(zhí)行文件中的金蟬脫殼。
具體做法如下:
第一步:將要用到的控件拷貝到當前工程目錄下,右鍵單擊該控件,選擇屬性,記下文件大小。注意,應記下以字節(jié)為單位的具體數字,而不是多少K,以備編程使用。
第二步:引用并正常使用該控件。
第三步:新建資源文件加入工程,在資源文件編輯器中添加所使用的第三方控件為自定義資源(CUSTOM),資源號使用默認的101。如果使用了多個控件則分別添加到資源文件的101、102......資源項中,脫殼代碼也要作相應的修改。
第四步:編寫控件脫殼代碼,使其讀取資源文件的數據,在程序當前目錄下生成控件。
代碼如下:
Private Const OCXSIZE = 57344 '欲生成的控件大小是57344Byte,名字為CoolToolBar.ocx
Sub Main()
Dim Ocx() As Byte 'OCX是個Btye類型的數組
Dim Counter As Long
Ocx = LoadResData(101, "CUSTOM") '將自定義資源中101號資源讀入數組OCX
'注意,微軟的幫助中對加載自定義資源的說明有錯誤,自定義資源標識為"CUSTOM"而不是幫助所說的數字10

