注冊(cè) 登錄
Office中國(guó)論壇/Access中國(guó)論壇 返回首頁(yè)

ganlinlao的個(gè)人空間 http://m.mzhfr.cn/?230471 [收藏] [復(fù)制] [分享] [RSS]

日志

vbcorlib類庫(kù)---一個(gè)模仿vb.net方式重寫的vb6類庫(kù)

熱度 2已有 3123 次閱讀2014-6-19 15:55 |個(gè)人分類:vb入門| vbcorlib介紹

vbcorlib是一個(gè)類庫(kù)。它是用vb6模仿mscorlib改寫而成,適度地了解vbcorlib,可以給我們帶來很多啟發(fā)。

什么是mscorlib?
mscorlib是一個(gè)netframework的核心類庫(kù)。

為什么不直接用vb.net而還使用vb6/vba呢?
這個(gè)問題沒有答案,每個(gè)人的想法是如此的截然不同,它真的沒有答案。vb.net的優(yōu)點(diǎn)缺點(diǎn)都被討論十幾年了,vb6的也是一樣,只不過一切照舊。有一點(diǎn)我能感覺得到,隨著時(shí)間流逝,使用vb.net會(huì)越來越多。不過應(yīng)該很難成為主流。vb.net命運(yùn)也只比jscript.net體面一點(diǎn)點(diǎn)。至于vb6,塵歸塵,土歸土,落花葬在角落里。但在角落里,永遠(yuǎn)都有不死的小強(qiáng)們

vbcorlib給我的啟示:
1、vb代碼可以寫得很有藝術(shù)感,邏輯層次極強(qiáng)。vbcorlib里面包含了幾十個(gè)類,而且各個(gè)類繼承關(guān)系很清晰,這種代碼組織能力,是很值得我們學(xué)習(xí)和借鑒的。

2、一切都"象"對(duì)象。
vb6不是面向?qū)ο蟮恼Z(yǔ)言。但vbcorlib讓VB6的一切都"象"對(duì)象。
VB6的對(duì)象是什么?vb6里面能用的對(duì)象都是com包裝下的對(duì)象。那什么是com包裝的對(duì)象呢?我也說不來,具體教程請(qǐng)百度一下。
vbcorlib提供了一個(gè)iobject根對(duì)象,所有的類都派生自這個(gè)iobject。這里的iobject是一個(gè)對(duì)象。跟vb里的那個(gè)object數(shù)據(jù)類型是完全不一樣的。vba里的object是這樣定義的:
Object 變量存儲(chǔ)為 32 位(4 個(gè)字節(jié))的地址形式,其為對(duì)象的引用。利用 Set 語(yǔ)句,聲明為 Object 的變量可以賦值為任何對(duì)象的引用。
這說明Object其實(shí)是一個(gè)指針,對(duì)應(yīng)的是iDispatch的智能指針。
所以這里iobject跟object是完全不同的兩個(gè)概念。

3、iobject根對(duì)象:
   Equals()方法
   GetHashCode()
   ToString方法
4、數(shù)據(jù)類型對(duì)象化。
   用cstring對(duì)象對(duì)應(yīng)string,在cstring對(duì)象派生stringbuilder、stringwriter、stringreader等很多子類
   用datetime對(duì)象對(duì)應(yīng)datetime,
5、數(shù)據(jù)結(jié)構(gòu)體
 vba有數(shù)組這個(gè)結(jié)構(gòu)體。但顯然是相當(dāng)不夠的。
vbcorlib提供了,arraylist(數(shù)組列表),list(列表)、hashtable(哈希表)、Queue(隊(duì)列)

6、細(xì)化了err對(duì)象
在vba中err對(duì)象顯然相當(dāng)?shù)脑己筒缓檬埂bcorlib提供了十幾種處理錯(cuò)誤信息的對(duì)象,很一種都很細(xì)心分類。
這個(gè)錯(cuò)誤信息處理太多了,就不再列舉了
7、打散了fso對(duì)象
嚴(yán)格來說fso不屬于vb的,而是屬于wsh的。vbcorlib提供了files對(duì)象,stream對(duì)象,drives對(duì)象

8、注冊(cè)表對(duì)象
可以更方便地處理注冊(cè)表。
9、rest資源處理對(duì)象
這個(gè)對(duì)于vba來說是蠻有用的,vba沒有l(wèi)oadrestfrom這樣的函數(shù)。

10、各種加解密

11、枚舉器

12、console對(duì)象 這是vb6/vba所沒有的。不過似乎意義不太大。

13、弱引用對(duì)象。其實(shí)這個(gè)是相當(dāng)好用的東西,不過因?yàn)楸容^高端了,所以我就不多說了。

vbcorlib能在實(shí)際當(dāng)中使用嗎?





發(fā)表評(píng)論 評(píng)論 (2 個(gè)評(píng)論)

回復(fù) t小寶 2014-6-20 00:10
vbcorlib能在實(shí)際當(dāng)中使用嗎?
回復(fù) tmtony 2014-6-27 21:59
小寶也在啊.看來大家都是粉絲

facelist doodle 涂鴉板

您需要登錄后才可以評(píng)論 登錄 | 注冊(cè)

QQ|站長(zhǎng)郵箱|小黑屋|手機(jī)版|Office中國(guó)/Access中國(guó) ( 粵ICP備10043721號(hào)-1 )  

GMT+8, 2025-7-13 03:00 , Processed in 0.067871 second(s), 18 queries .

Powered by Discuz! X3.3

© 2001-2017 Comsenz Inc.

返回頂部