Alguien se ha topado con esto y lo ha resuelto?

Max
29 de Noviembre del 2009
Olvidaros del enum... que es una enumeracion definida por mi tambien.
Tengo declarado un tipo publico de la siguiente forma

Public Type Caracteristica
Variable1 As Long
Variable2 As String
Variable3 As enumTipoDeControl
Variable4 As String
End Type

Y una funcion a modo de constructor que lo que hace es rellenar un dato de ese tipo


Public Function NewCaracteristica(ByVal Variable1 As Long, ByVal Variable2 As String, ByVal Variable3 As enumTipoDeControl, ByVal Variable4 As String) As Caracteristica
With NewCaracteristica
.Variable1 = Variable1
.Variable2 = Variable2
.Variable3 = Variable3
.Variable4 = Variable4
End With
End Function

Y en el evento click de un boton lo siguiente

Dim colMeta As Collection

colMeta.Add NewCaracteristica(2, \\\"12:05\\\", MHORA, \\\"Hora de vuelo\\\")

Pues bien, me da el siguiente error:

Error de Compilacion:

Sólo los tipos definidos por el usuario de modulos de objeto publicos se pueden pasar a funciones enlazadas en tiempo de ejecucion o forzar a o desde un variant.

La historia es que la asignacion de una variable del tipo Caracteristica (Que es el tipo que he definido yo) a cualquier otra cosa que no sea del tipo caracteristica da error, inclusive cuando intentas asignarsela a un varian.

¿Alguien sabe cual es el problema y la solucion?

Lo que no quiero es tener que crear una clase nueva que haga las veces del collection, vamos que para algo esta.

Muchas gracias

MDF
29 de Noviembre del 2009
Tengo el mismo problema. Lograste encontrar una solucion?