Visual Basic - Urgente: OCX

Life is soft - evento anual de software empresarial
 
Vista:

Urgente: OCX

Publicado por Oscar (4 intervenciones) el 20/10/2004 10:34:51
Buenas,

Estoy intentando realizar un Control de Usuario (OCX) y no se como pasar Tipos Definidos por el Usuario (UDTs), arrays, etc, del OCX a un formulario o módulo y viceversa.

Si alguien me pudiera echar una mano, le estaría muy agradecido, y si tuviera algún ejemplo me vendría muy bien, ya que he encontrado varios, pero ninguno me funciona.

Un saludo y muchas gracias de antemano.

Oscar
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder

RE:Urgente: OCX

Publicado por Ruri (583 intervenciones) el 20/10/2004 13:01:17
Oscar: Los tipos definidos por el usuario no pueden ser miembros públicos de un control OCX. La instrucción
Public TDU as MiTipoDefinido genera un error. PAra subsanarlo se crea un objeto con los mismos miembros que el tipo definido por el usuario. Por ejemplo:
Public CTDU as MiClase, donde MiClase es un objeto. Para pasar una matriz, conviene hacerlo a través de una propiedad. Hay dos maneras:
1. Declarar la propiedad como matrz. Tiene como inconveniente no poder accederse a un miembvro individual de la matriz sin recuperar primero toda la matriz. La sintaxis sería esta:

Public M() as String
M()=MiOCX.PropiedadMatrizString
msgbox M(4)
Erase M()
2. Crear una propiedad con un argumento de índice que devuelva cada elemento de la matriz de forma separada:

Private strPropMatriz() As String

Public Property Get PropMatriz(ByVal Index As Integer) As String()
If Index > UBound(strPropMatriz) Or Index < UBound(strPropMatriz) Then err.Raise 9: exit Property
PropMatriz = strPropMatriz(Index)
End Property

Public Property Let PropMatriz(ByVal Index As Integer, ByRef strPropMatrizA As String)
If Index > UBound(strPropMatriz) Or Index < UBound(strPropMatriz) Then err.Raise 9: exit Property
strPropMatriz(Index) = strPropMatrizA
PropertyChanged "PropMatriz"
End Property

Es evidente que vos llenarás previamente la matriz de alguna forma en ReadProperties o en InitProperties

Espero que te sirva
Saludos Ruri
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:Urgente: OCX

Publicado por Oscar (4 intervenciones) el 20/10/2004 13:27:01
Hola Ruri,

¿Te podría mandar un correo con lo que tengo? Es porque lo vieras y me pusieras las pegas que fueran necesarias así como que estoy haciendo mal.

Muchas gracias.

Oscar
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:Urgente: OCX

Publicado por Ruri (583 intervenciones) el 20/10/2004 16:01:32
No hay problema, mandamelo. Tratá de ser detallado con tu problema/consulta

Saludos Ruri
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar