Foro de elhacker.net

Programación => .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
  1. 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
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
  1. Public Class Class1
  2.  
  3.    Public Shared SharedVar As String = "Test" ' Esta la podrás leer
  4.    Public Var As String = "Test"' Esta no la podrás leer
  5.  
  6. End Class

Código
  1. Imports WindowsApplication1.Class1
  2.  
  3. Public Class Form1
  4.    Private Sub Form1_Load(sender As Object, e As EventArgs) Handles MyBase.Load
  5.        MsgBox(SharedVar) ' String: "Test"
  6.        MsgBox(Var) ' Exception: Reference to a non-shared member requires an object reference
  7.    End Sub
  8. End Class

Saludos!


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

Ejemplo:

Código
  1. Public Class Class1
  2.  
  3.    Public Shared SharedVar As String = "Test" ' Esta la podrás leer
  4.    Public Var As String = "Test"' Esta no la podrás leer
  5.  
  6. End Class

Código
  1. Imports WindowsApplication1.Class1
  2.  
  3. Public Class Form1
  4.    Private Sub Form1_Load(sender As Object, e As EventArgs) Handles MyBase.Load
  5.        MsgBox(SharedVar) ' String: "Test"
  6.        MsgBox(Var) ' Exception: Reference to a non-shared member requires an object reference
  7.    End Sub
  8. 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