Функция ObjPtr


Недокументированная функция ObjPtr служит для получения указателя на объект(адрес объекта в памяти)

Возвращаемое значение

Возвращает данные типа Long, содержащие указатель на объект

PtrОбязательный аргумент - объектная переменная, указатель на которую требуется получить
' Используем ObjPtr для тестирования,
' whether two object variables point to the same object
' or Storing objects in the Tag property. 

One of the simplest and most effective uses
' of the ObjPtr function is to provide a key
' for quickly locating an object in a Collection Let's suppose
' you have a collection of objects that doesn't expose
' a property that can be used as a key to retrieve
' them in a collection. You can work around this
' by using the value returned by the ObjPtr function
' as the key in the collection:

Dim col As New Collection
Dim obj As CPerson

' create a new CPerson object and add it to the collection
Set obj = New CPerson
obj.Name = "John Smith"
col.Add obj, CStr(ObjPtr(obj))  ' ключ должен быть строкой

Because each object has a distinct ObjPtr value,
' and this value is guaranteed immutable,
' it is very easily to quickly retrieved
' it in the collection: 

' Удаляем объект из коллекции
col.Remove CStr(ObjPtr(obj))

' The same trick can be applied to any type of object,
' including VB forms and controls,
' and external objects
Смотри также
StrPtr, VarPtr
Функции работы с указателями