Visual Basic Foro
Programación => Visual Basic 6 => Mensaje iniciado por: YAcosta en Octubre 22, 2014, 06:52:00 pm
-
Si declaro una variable como ucImage ¿porque no puedo acceder a todas sus propiedades?
Private Sub Command1_Click()
ucIma.Visible = True '<<--- aqui si funciona correctamente
End Sub
Private Sub Command2_Click()
Call Prender(ucIma) 'Con esto llamo al de abajo
End Sub
Private Sub Prender(MiControl As ucImage)
MiControl.Visible = True '<<--- porque no heredo? ¡como lo resuelvo?
End Sub
Private Sub Prender2(MiControl As CommandButton)
MiControl.Visible = False 'Y este si funciona, ¿porque con el ucImage no? ¿me falta algo?
End Sub
Private Sub Command3_Click()
Call Prender2(Command1)
End Sub
Proyecto (https://dl.dropboxusercontent.com/u/4052038/Otros/Foros/ucImageVariable.rar)
-
Bien sera que puedes declararlo como object asi te funcionara!!
Private Sub Prender(MiControl As Object)
MiControl.Visible = True '<<--- porque no heredo? ¡como lo resuelvo?
End Sub
-
Nunca probe con visible. Pero fijate si existe la propiedad Set Visibile (seguro que Let Visible esta)
-
Bien sera que puedes declararlo como object asi te funcionara!!
Private Sub Prender(MiControl As Object)
MiControl.Visible = True '<<--- porque no heredo? ¡como lo resuelvo?
End Sub
Si doc, eso lo resolvio, muchas gracias.
-
Nunca probe con visible. Pero fijate si existe la propiedad Set Visibile (seguro que Let Visible esta)
Fijate que no esta ni siquiera Let Visible, asi que agregue estas lineas al control:
Public Property Let Visible(Enable As Boolean)
UserControl.Visible = Visible
PropertyChanged "Visible"
End Property
Public Property Get Visible() As Boolean
Visible = UserControl.Visible
End Property
Y ya no me salto el error pero si me salto en la siguiente linea (tomado del proyecto de trabajo no del ejemplo):
MiControl.Left = lblDia(R).Left
y me salto el mismo error, quiere decir que tambien debo agregar esa propiedad. Voy a probar
-
No me ligo con Left asi que lo comente y me salto el error dentro del ucImage en esta linea (no se encontro el metodo etc etc)
UserControl.Visible = Visible
Ya tendría que echarle una investigada de como se heredan las propiedades, de momento lo dejare con la solución del Object (no es por marica sino por falta de tiempo ya que el modulito lo debo entregar mañana)
:-(
-
UserControl.Visible = Visible
Seguro que es = visible ? Que intentas hacer ?
-
En un proyectito (que ya entregue pero igual le sigo para saber) tengo 15 controles ucImage que los 15 tienen el mismo compartimiento dependiendo de ciertos parametros. Ok, uno de ellos es que voy a volver Visible False a algunos y Visible True a otros, entonces no quería repetir codigo y por ello queria usar lo de arriba para invocarlo asi:
Call AplicarCambios(ucImageX, True, 80, etc etc) Alli le paso el control y el False es volverlo visible por ejemplo
Lo otro que se me ocurre es volverlo matriz de controles y manipularlo por el index pero queria probar de la forma que quedo resuelto declarado como Object y no como ucImage.
Ahora, en la parte de:
UserControl.Visible = Visible
La verdad lo que hice fue copiar la forma en que se aplicaba otra propiedad Enabled en el mismo control:
Public Property Let Enabled(Enable As Boolean)
UserControl.Enabled = Enable
PropertyChanged "Enabled"
End Property
Public Property Get Enabled() As Boolean
Enabled = UserControl.Enabled
End Property
Que como tiene valores similares (True/False) pense que teniendo esa guia funcionaria pero al parecer lo estoy haciendo mal.
-
Estimado Master Yacosta:
En estas Linea :
Public Property Let Visible(Enable As Boolean) '<------- AQUI
UserControl.Visible = Visible '<------- Y AQUI
PropertyChanged "Visible"
End Property
Public Property Get Visible() As Boolean
Visible = UserControl.Visible
End Property
Debia de ser:Public Property Let Visible(Enable As Boolean) '<---- ASI
UserControl.Visible = Enable '<---- ASI
PropertyChanged "Visible"
End Property
Public Property Get Visible() As Boolean
Visible = UserControl.Visible
End Property
Saludos Cordiales
-
chess, cierto, tenias razón, que tal patinada. Siempre se aprende. Gracias doc.
-
No hay por donde Maestro, que si no es por su indirecta orientación no habría conocido Firebird!
Saludos Cordiales
-
Off Topic: Por cierto estimado, ya salio la beta tester de Firebird 3!!! checalo aqui
http://firebird3.com/
Saludos