Test Foro de elhacker.net SMF 2.1

Programación => Programación General => .NET (C#, VB.NET, ASP) => Mensaje iniciado por: TrashAmbishion en 16 Abril 2013, 16:45 PM

Título: Problema accediendo a un objecto en un Form !!
Publicado por: TrashAmbishion en 16 Abril 2013, 16:45 PM
Reference to a non-shared member requires an object reference.

Hola amigos pues este es el error que me atormenta, tengo una clase declarada en la que necesito acceder a un grid que se encuentra en el form principal (MainForm) y obtengo ese error, declare esto en la clase
Código (vbnet) [Seleccionar]
Dim FMain as New MainForm y me da otro error como puedo solucionar este simple problemilla...

Salu2
Título: Re: Problema accediendo a un objecto en un Form !!
Publicado por: Eleкtro en 16 Abril 2013, 20:12 PM
Cita de: TrashAmbishion en 16 Abril 2013, 16:45 PM
Reference to a non-shared member requires an object reference.

este es el error que me atormenta

Pues no tienes que atormentarte xD, simplemente declara las cosas como compartidas (Shared), y listo.

Ejemplo:

Código (vbnet) [Seleccionar]

Public Class Class1

   Public Shared SharedVar As String = "Test" ' Esta la podrás leer
   Public Var As String = "Test"' Esta no la podrás leer

End Class


Código (vbnet) [Seleccionar]
Imports WindowsApplication1.Class1

Public Class Form1
   Private Sub Form1_Load(sender As Object, e As EventArgs) Handles MyBase.Load
       MsgBox(SharedVar) ' String: "Test"
       MsgBox(Var) ' Exception: Reference to a non-shared member requires an object reference
   End Sub
End Class


Saludos!
Título: Re: Problema accediendo a un objecto en un Form !!
Publicado por: TrashAmbishion en 16 Abril 2013, 20:51 PM
Cita de: EleKtro H@cker en 16 Abril 2013, 20:12 PM
Pues no tienes que atormentarte xD, simplemente declara las cosas como compartidas (Shared), y listo.

Ejemplo:

Código (vbnet) [Seleccionar]

Public Class Class1

   Public Shared SharedVar As String = "Test" ' Esta la podrás leer
   Public Var As String = "Test"' Esta no la podrás leer

End Class


Código (vbnet) [Seleccionar]
Imports WindowsApplication1.Class1

Public Class Form1
   Private Sub Form1_Load(sender As Object, e As EventArgs) Handles MyBase.Load
       MsgBox(SharedVar) ' String: "Test"
       MsgBox(Var) ' Exception: Reference to a non-shared member requires an object reference
   End Sub
End Class


Saludos!

hola y gracias por tu pronta respuesta, estas seguro de que esta es una solucion para mi problema, fijate que yo lo que necesito es acceder a los valores que se encuentran en un grid del form principal desde la clase que cree...

Salu2 y gracias de todas formas...lo probare