SoloCodigo

CLR: .Net / Mono / Boo / Otros CLR => VB .NET => Mensaje iniciado por: Soultaker en Martes 12 de Julio de 2005, 01:10

Título: Error Al Asignar Un Valor A Una Variable
Publicado por: Soultaker en Martes 12 de Julio de 2005, 01:10
Hola a todos, empece de nuevo a hacer algunos experimentos con el Visual Basic .NET y en uno de mis experimentos, no pude solucionar este problema que paso a explicar.

En esta linea de codigo me muestra el siguiente error "Option Strict On no permite el enlace en tiempo de ejecución", este error me muestra cuando quiero asignar un valor a una variable.
   
   li_y1, li_x1 : Variable tipo Integer
   po_name : Variable tipo object

   li_y1 = po_name.Top
   li_x1 = po_name.Left

La verdad no se a que se debe este problema, espero poder solucionarlo, gracias a todos.

(http://img146.imageshack.us/img146/1904/tema02imagen013zb.jpg)

 :comp:
Título: Re: Error Al Asignar Un Valor A Una Variable
Publicado por: luism3 en Viernes 29 de Julio de 2005, 06:03
No entiendo en que la variable po_name sea del tipo object y estés intentando acceder a propiedades características de otro objeto. En caso que con ese tipo object te estés refiriendo a un control, tal como un button o un textbox, antes de acceder a su propiedad top o height, primero debes convertirlo al tipo de objeto y luego acceder a su propiedad. Ejemplo:

dim val as object
val= ctype (sender, button)
console.writeline (val)
'Donde sender sería la variable tipo object que eventualmente estaría recibiendo desde cualquier evento, la cual se refiere al objeto que produjo el evento.


Espero que puedas resolver tu duda, cualquier cosa dime si eso no era lo que necesitabas.
Título: Re: Error Al Asignar Un Valor A Una Variable
Publicado por: senzao18 en Martes 2 de Agosto de 2005, 16:13
Luism3 tiene razoón por tener el optoin spli..on no lo puedes hacer asi, lo que tienes que hacer es un cast de la variable tipo object

lo puede hacer  así:

DirectCast(obj,tipo).top

Otra solucion seria que declaras la variable dle tipo de objeto que necesitas

TextBox Button label . en lugar de object.

es todo.... :smartass:
Título: Re: Error Al Asignar Un Valor A Una Variable
Publicado por: Kev en Martes 2 de Agosto de 2005, 19:10
Bueno strict te ayuda a realizar la conversion de tipos de una forma explicita, y asi en lo futuro no cometer errores de conversion de tipos.

Ahora hay dos formas, bueno tres para esto:

Una es usar las funciones intrinsecas para datos simples ej: CInT() 'Para convertir a enteros, CDbl() ' Conversion a dobles, etc..

La segunda es usar DirectCast() donde la usas para convertir a un tipo que si conoces y sabes que tipo de dato sera

Por ultimo puedes usar CType() donde usas para hacer conversiones donde no conozcas de que tipo son, por ejemplo un object

Ahora yo te recomiendo usar DirectCast ya que en la mayoria de los casos conoceras que datos manejas y aparte es mas veloz que CType y asi logras mayor performance

Salu2
 :comp: