Supongamos que necesito coleccionar varios objetos en un array dentro de una clase. Cada objeto se va agregando desde afuera (en este caso un form). Ahora mismo lo estoy pasando mas o menos asi:
Public Function PushObj (ByRef objNew As Long, ByVal strColName As String, ByVal lngKind As enmObjType, ByVal lngContent As enmColContent, Optional ByVal blnRequeired As Boolean = True, Optional ByVal blnComboUseIndex As Boolean = False) As Long
[...]
Set c_objArr(lngIndex).oObject = objNew
[...]
El tema es que cuando quiero acceder al objeto pasan 2 cosas, en algun caso (mas que nada con combo box) me dice "Se requiere un objeto" (pero haciendole mousehover a la variable del *objeto* me devuelve su valor); o en el mejor de los casos, el objeto esta, pero si yo cambio algun valor y luego quiero volver a leer su contenido, me devuelve el valor original.
En algun que otro codigo viejo (que ahora no recuerdo cual) habia visto que referenciaban a los objetos pasando su puntero y copiandolo a otro objeto (local), algo asi:
Public Function PushObj (ByVal lngPtr As Long) As Long
Dim objTemp As Object
Set objTemp = New 'pero aca no se que iba
CopyMemory ByVal ObjPtr(objTemp), ByVal lngPtr, 4
End FunctionEn fin, el que sepa algo que tire el chifle

saludos y felices pascuas!