VBCOM基礎講座之可重用性
還記得我們是怎么將一個類添加到標準的Visual Basic工程中的?
是的,一流的COM體系的最大特點是其代碼的可重用性。
換句話說,如果用Visual Basic創建一個用于財務管理的類,那么該類不僅可以通過其他程序來訪問,而且還可用于其他合作者的應用程序。比如,一張Excel電子數據表可能就需要這樣的數據,或者一個C++程序員可能需要獲取他人最新工程的一些信息,等等。
但是,當我們將所需要的類添加到標準的Visual Basic應用程序中,或是再編譯成最終的EXE程序時,其他人仍然不能在程序內部處理類或屬性。
解決這個問題的方法是將所有的類投放到其他人的各自程序中,這稱為"COM-enabled"。
換句話說,假如類有AnnualProfitsToDate屬性,一旦該屬性得到后,類就會遍歷公司的數據庫,然后進行相應的一些計算,最后返回一個數值,該值單位可能是英磅、美元、日元或是其它。
現在,若Excel用戶需要對數據庫進行上述處理,則只需簡單地提供"類程序",而不是真正的代碼。該程序釋放類和AnnualProfitsToDate屬性,允許其他用戶將其插入到程序中去。同樣,我們也不必告訴C++程序員如何進行人工統計(盡管他能夠處理),只需要提供給這個程序就可以了。這樣,就減少了大家許多工作。
這種在Visual Basic工程中添加類后,還將類放進各自程序中的方法,稱為ActiveX組件方法。
在這種方法中,ActiveX程序中的所有功能都可以被其他支持ActiveX的程序語言來處理。換句話說,AnnualProfitsToDate屬性既可被Excel、C++得到,也可被Access等其他程序處理。
那么,如何創建一個用來處理我們的類的ActiveX程序呢?
是的,一流的COM體系的最大特點是其代碼的可重用性。
但是,當我們將所需要的類添加到標準的Visual Basic應用程序中,或是再編譯成最終的EXE程序時,其他人仍然不能在程序內部處理類或屬性。
解決這個問題的方法是將所有的類投放到其他人的各自程序中,這稱為"COM-enabled"。
換句話說,假如類有AnnualProfitsToDate屬性,一旦該屬性得到后,類就會遍歷公司的數據庫,然后進行相應的一些計算,最后返回一個數值,該值單位可能是英磅、美元、日元或是其它。
現在,若Excel用戶需要對數據庫進行上述處理,則只需簡單地提供"類程序",而不是真正的代碼。該程序釋放類和AnnualProfitsToDate屬性,允許其他用戶將其插入到程序中去。同樣,我們也不必告訴C++程序員如何進行人工統計(盡管他能夠處理),只需要提供給這個程序就可以了。這樣,就減少了大家許多工作。
這種在Visual Basic工程中添加類后,還將類放進各自程序中的方法,稱為ActiveX組件方法。
在這種方法中,ActiveX程序中的所有功能都可以被其他支持ActiveX的程序語言來處理。換句話說,AnnualProfitsToDate屬性既可被Excel、C++得到,也可被Access等其他程序處理。
那么,如何創建一個用來處理我們的類的ActiveX程序呢?