CLR: .Net / Mono / Boo / Otros CLR > VB .NET

 Leer variable de otra clase

<< < (4/5) > >>

rogalde:
Hola! tuve que poner lo ultimo que me dijiste.

Y ahora lo que me pasa es que en la clase opcserver me sale MessageBox con el valor correcto.

 
--- Código: vb.net ---      Public Property regcampo1() As Int32            Get                Return Campo1             End Get            Set(ByVal value As Int32)                Campo1 = value                System.Windows.Forms.MessageBox.Show(Campo1)            End Set        End Property 
Pero cuando lo pongo en donde quiero que me coja la variable, osea en la linea 187 creo que era me sale que vale cero. pq??

Gracias!!

javierkcjm:
hola,

una vez que le asignas el valor a la variable campo1 con la propiedad como te dije no es necesario volver a asiganarle el mismo valor en la linea 187 osea ya no tienes q poner "campo1=" ya que como instancias la clase y asiganas valor al campo1 con la propiedad durante el tiempo de ejecucion de tu proyecto la variable en esa referencia de clase mantendra el valor asi que podras usarlo en cualquien procedimiento de la clase opcserver, espero haberme hecho entender

saludos cordiales

JC

rogalde:
hola de nuevo. sisi te entendí. Pero.. lo que yo te decía es que justo en esta estructura donde esta lo del Messagebox, me retorna el valor correcto. Pero en la linea esa 187 hago lo del MesageBox igual que en el código de abajo  y me sale que la variable vale 0.

La variable la tengo declarada como    Public Campo1 As Integer


--- Código: vb.net ---      Public Property regcampo1() As Int32            Get                Return Campo1             End Get            Set(ByVal value As Int32)                Campo1 = value                System.Windows.Forms.MessageBox.Show(Campo1)            End Set        End Property 

javierkcjm:
mmm es raro ya que una vez que muestras el valor con el messagebox en la propiedad deberia mostrarlo en la otra funcion, pero no seria raro que en alguna linea este reescribiendo nuevamente la variable o este volviendo a declararla, te recomiendo que ejecutes el proyecto en depuracion paso a paso(F11) para poder observar si en algun momento del proyecto se sobreescribe la variable

saludos cordiales

JC

rogalde:
Si la verdad que a mi también me extraña mucho. He hecho este ejemplo y me funciona perfecto. Haré lo que me del modo depuración.

Gracias!! de verdad!


--- Código: vb.net ---Public Class Form1     Public v1 As Integer    Public pepe As New form2     Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load        v1 = 44        pepe .regcampo1 = 696969        pepe .pruebaFuncion()    End Sub  End Class  Public Class form2     Public Campo1 As Integer    Public Property regcampo1() As Int32        Get            Return Campo1        End Get        Set(ByVal value As Int32)            Campo1 = value        End Set    End Property     Public Sub pruebaFuncion()        System.Windows.Forms.MessageBox.Show(Campo1)    End Sub End Class 

Navegación

[0] Índice de Mensajes

[#] Página Siguiente

[*] Página Anterior

Ir a la versión completa