使用Objptr函数快速查找集合中的对象

发表于:2007-06-21来源:作者:点击数: 标签:
ObjPtr函数的一个最简单但是却最有效的用途就是提供快速寻找集合中对象的关键字。假设有一个对象集合,它没有可以当做关键字以从集合中取回的属性。那么,我们就可以使用ObjPtr函数的返回值作为集合中的关键字: Dim col As New Collection Dim obj As CPers

   

ObjPtr函数的一个最简单但是却最有效的用途就是提供快速寻找集合中对象的关键字。假设有一个对象集合,它没有可以当做关键字以从集合中取回的属性。那么,我们就可以使用ObjPtr函数的返回值作为集合中的关键字:

Dim col As New Collection

Dim obj As CPerson

'创建新的CPerson对象,并添加到集合中

Set obj = New CPerson

obj.Name = "John Smith"

col.Add obj, CStr(ObjPtr(obj)) '关键字必须是字符串

因为任何对象都有一个明确的ObjPtr数值,而且它是不变的,所以,我们可以容易地、快速地从集合中取回它:

' 删除集合中的对象

col.Remove CStr(ObjPtr(obj))

这个技巧可以适用于任何类型的对象,包括VB中的表单和控件,以及外部对象。

原文转自:http://www.ltesting.net