Visual Basic.NET - PROBLEMA Clases y Formularios

 
Vista:

PROBLEMA Clases y Formularios

Publicado por vlg (48 intervenciones) el 25/11/2005 18:38:57
Mi intencion es que cuando pulse un boton la clase devuelva a un textbox un valor, el codigo que utilizo es el siguiente:

**en el formulario
Dim Mui As UIclases ' es el nombre de la clase que tengo en el proyecto

Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click

Mui = New UIclases ' creo una nueva instacia sobre la clse
Mui.PasValTxT()

End Sub

** codigo de la clase
Public Class UIclases
Public mFrm As Form1
Public Sub PasValTxT()
mFrm.TextBox1.Text = 10
End Sub
End Class

pues bien cuando ejecuto el proyecto me da el siguiente error, Excepcion no controlada del tipo "system.nullreferenceexception" en proyecto.exe Informacion adicional: Referencia a objeto no establecida como instancia de un objeto

ESPERO QUE ME PUEDAN ECHAR UNA MANO , MUCHAS GRACIAS
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:PROBLEMA Clases y Formularios

Publicado por Edgar (1501 intervenciones) el 25/11/2005 18:40:58
Hola

Al hacer Dim Mui As UIclases estas declarando la variable, pero no la has creado

Debes hacer el New.. Mui = New Ulclases

O declararlo con Dim Mui As New UIclases

Saludos
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:PROBLEMA Clases y Formularios

Publicado por vlg (1 intervención) el 26/11/2005 10:16:02
GRACIAS POR TU RESPUESTA PERO SIGUE SIN FUNCIONAR, SI NO TE HE ENTENDIDO MAL EL CODIGO QUE TENDRIA QUE DEJAR ES EL SIGUIENTE

EN EL FORM

Dim MyUI As New uiclases
Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
MyUI.pasarValorText()
End Sub

EN LA CLASE

Public Class uiclases
Dim mfrm As Form1
Public Sub pasarValorText()
mfrm.TextBox1.Text = 10
End Sub
End Class

SIGUE SIN PASAR EL VALOR, RUEGO HAGAS LA PRUEBA Y VERIFIQUES SI HE PUESTO LA SINTAXIS CORRECTA

PERDON POR LAS MOLESTIAS Y GRACIAS
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:PROBLEMA Clases y Formularios

Publicado por thessen (298 intervenciones) el 28/11/2005 09:52:56
podrias pasar a tu método el textbox al que quieres cambiar el texto. p.e:

Public Sub pasarValorText(mytextbox as textbox)
mytextbox.Text = 10
End Sub

y en el formulario lo llamarías de esta manera.

Dim MyUI As New uiclases

Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
MyUI.pasarValorText(me.textbox1)
End Sub

Y otra opción que tienes, que personalmente la prefiero, sería crear una función que retornase la cadena que quieres poner en el text. p.e:

Public Function pasarValorText() as string
return "10"
End Function

y en el formulario la llamarías...

Dim MyUI As New uiclases

Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
me.textbox1.text = MyUI.pasarValorText
End Sub

Espero que esto te ayude, de todas formas es probable que tu código anterior no funcione porque no creas una nueva instancia de tu formulario en la clase, es decir, solo lo instancias pero no lo creas (con NEW)

Un saludo.
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

Gracias por vuestra ayuda me ha servido de mucho

Publicado por vlg (48 intervenciones) el 28/11/2005 10:19:55
Gracias por vuestra ayuda me ha servido de mucho
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:PROBLEMA Clases y Formularios

Publicado por KINTERO (2 intervenciones) el 03/12/2005 07:31:23
NO EXISTE EL CONSTRUCTOR, DEBES DECLARAR CO NEW, NO HE SEGUIDO MIRANDO PERO YA POR AHI VIENE UN FALLO SEGURO.

SALUDOS.
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