ObjPtr函數(shù)的一個(gè)最簡(jiǎn)單但是卻的用途就是提供快速尋找集合中對(duì)象的關(guān)鍵字。假設(shè)有一個(gè)對(duì)象集合,它沒有可以當(dāng)做關(guān)鍵字以從集合中取回的屬性。那么,我們就可以使用ObjPtr函數(shù)的返回值作為集合中的關(guān)鍵字:
Dim col As New Collection
Dim obj As CPerson
'創(chuàng)建新的CPerson對(duì)象,并添加到集合中
Set obj = New CPerson
obj.Name = "John Smith"
col.Add obj, CStr(ObjPtr(obj)) '關(guān)鍵字必須是字符串
因?yàn)槿魏螌?duì)象都有一個(gè)明確的ObjPtr數(shù)值,而且它是不變的,所以,我們可以容易地、快速地從集合中取回它:
' 刪除集合中的對(duì)象
col.Remove CStr(ObjPtr(obj))
這個(gè)技巧可以適用于任何類型的對(duì)象,包括VB中的表單和控件,以及外部對(duì)象。
Dim col As New Collection
Dim obj As CPerson
'創(chuàng)建新的CPerson對(duì)象,并添加到集合中
Set obj = New CPerson
obj.Name = "John Smith"
col.Add obj, CStr(ObjPtr(obj)) '關(guān)鍵字必須是字符串
因?yàn)槿魏螌?duì)象都有一個(gè)明確的ObjPtr數(shù)值,而且它是不變的,所以,我們可以容易地、快速地從集合中取回它:
' 刪除集合中的對(duì)象
col.Remove CStr(ObjPtr(obj))
這個(gè)技巧可以適用于任何類型的對(duì)象,包括VB中的表單和控件,以及外部對(duì)象。