Casting a Objeto

06/05/2004 - 01:47 por Francisco Rojas Kramer mailto:frojask | Informe spam
Tengo un problema tratando de tomar una referencia
withevents a un objeto q pertenece a un arreglo de objetos
(dicho en otras palabras, tiene un "Index"), aqui el breve
codigo, teniendose un Form1 con 3 optionbuttons, Option1
(0), Option1(1) y Option2

Dim WithEvents MiOption As VB.OptionButton

Private Sub Command1_Click()
Dim lobj1 As Object
For Each lobj1 In Form1.Controls
'cambiar a Option1 y no va a permitirlo. Error 459
If lobj1.Name = "Option2" Then
Set MiOption = lobj1
End If
Next
End Sub

Private Sub MiOption_Click()
MsgBox "evento ampliado"
End Sub


Al parecer cuando el objeto es parte de un arreglo de
controles, la referencia directa al objeto devuelve el
valor de su propiedad por default... (aunq una referencia
a una propiedad, por ej. NAME, de dicho objeto es aceptada
y correctamente devuelta, por lo cual es correcto pensar
que el resultado de "Item(x)" es verdaderamente el objeto
deseado, cosa q IsObject comprueba)

mi problema es q no encuentro una manera de hacer
referencia al objeto y recibir un objeto q pueda ser
asignado a una variable usando SET, entonces...

EXISTE UNA FORMA DE FORZAR EL TIPO HACIA OBJECT O
VB.OPTIONBUTTON (TYPE CASTING) ????

Preguntas similare

Leer las respuestas

#1 Anonimo
06/05/2004 - 19:22 | Informe spam
en el evento coloca el argumento Index que te falta


private sub Miobjeto_click(index as integer)

end sub

si no te funciona declara el withevents con WithEventsArgs
que te devuelve una matriz de arguemntos y valores en el
evento.
Respuesta Responder a este mensaje
#2 Maycol Alvarez
06/05/2004 - 19:33 | Informe spam
disculpa te puse el codigo en .NET y era en VB6:Dim

la clase vbcontrolexterder ofrece soporte para todo tipo
de controles:

WithEvents MiObjeto As VBControlExtender

Private Sub MiObjeto_ObjectEvent(Info As EventInfo)
Info.Name 'nombre del evento
Info.EventParameters.Item(0).Value 'valor del primer
parametro
End Sub
email Siga el debate Respuesta Responder a este mensaje
Ads by Google
Help Hacer una preguntaRespuesta Tengo una respuesta
Search Busqueda sugerida