elhacker.net cabecera Bienvenido(a), Visitante. Por favor Ingresar o Registrarse
¿Perdiste tu email de activación?.

 

 


Tema destacado: ¿Eres nuevo? ¿Tienes dudas acerca del funcionamiento de la comunidad? Lee las Reglas Generales


+  Foro de elhacker.net
|-+  Programación
| |-+  Programación General
| | |-+  .NET (C#, VB.NET, ASP) (Moderador: kub0x)
| | | |-+  Accediendo a variable declarada con eventos (WithEvents)
0 Usuarios y 1 Visitante están viendo este tema.
Páginas: [1] Ir Abajo Respuesta Imprimir
Autor Tema: Accediendo a variable declarada con eventos (WithEvents)  (Leído 2,088 veces)
TrashAmbishion


Desconectado Desconectado

Mensajes: 755


Ver Perfil
Accediendo a variable declarada con eventos (WithEvents)
« en: 18 Octubre 2016, 19:36 pm »

En el form principal (frmprin) declare

Código
  1. Private WithEvents mysocket As ShadowMud.Sockets.AsyncSocket

Necesito acceder a ella desde una clase, no lo declare Shared porque tengo que hacer muchos cambios en Sub que trabajan con el desde el form, por lo que declare otra variable similar pero Shared

Código
  1. Private Shared WithEvents samesocket As ShadowMud.Sockets.AsyncSocket

En un Sub

Código
  1. Sub X
  2.  
  3. 'Ya mysocket fue inicializado en otro Sub
  4.  
  5. samesocket = mysocket
  6.  
  7. End Sub
  8.  
  9. Desde la clase:
  10.  
  11. Sub Y
  12.  
  13. frmprin.samesocket.enviar("lolololo")
  14.  
  15. End Sub

No creo una varible en la misma clase porque esta lo que guarda es el estado de una conexión TCPIP y necesito utilizar esa misma para enviar datos.

Gracias cualquier ayuda..

Salu2


« Última modificación: 18 Octubre 2016, 20:00 pm por TrashAmbishion » En línea

Eleкtro
Ex-Staff
*
Desconectado Desconectado

Mensajes: 9.788



Ver Perfil
Re: Accediendo a variable declarada con eventos (WithEvents)
« Respuesta #1 en: 18 Octubre 2016, 21:19 pm »

Necesito acceder a ella desde una clase

Si quieres acceder al miembro "MySocket" desde otra clase distinta a donde declaraste dicho objeto, entonces debes reemplazar la visibilidad "Private" para eliminar la restricción de acceso al miembro declarado a nivel de clase, logicamente.

En su lugar puedes utilizar la visibilidad "Friend", la cual te permitirá acceder a dicho miembro a nivel de ensamblado, es decir, desde cualquier otra clase o módulo que exista dentro de tu proyecto. Ejemplo:

Código
  1. Imports ShadowMud.Sockets
  2.  
  3. Public NotInheritable Class Form1 : Inherits Form
  4.  
  5.    Friend WithEvents MySocket As AsyncSocket
  6.  
  7. End Class

Código
  1. Imports ShadowMud.Sockets
  2.  
  3. Public NotInheritable Class Class1
  4.  
  5.    Private Sub New()
  6.    End Sub
  7.  
  8.    Public Shared Sub MyMethod()
  9.        Dim sock As AsyncSocket = My.Forms.Form1.MySocket
  10.        ' ...
  11.    End Sub
  12.  
  13. End Class

También puedes usar la sentencia de visibilidad "Public" en lugar de "Friend", claro está, suponiendo que necesites y/o no te importe que cualquier otra persona pueda acceder al miembro "MySocket" referenciando el ensamblado que estás compilando.

Saludos!


« Última modificación: 19 Octubre 2016, 01:32 am por Eleкtro » En línea

TrashAmbishion


Desconectado Desconectado

Mensajes: 755


Ver Perfil
Re: Accediendo a variable declarada con eventos (WithEvents)
« Respuesta #2 en: 19 Octubre 2016, 05:38 am »

Thx bro
En línea

Páginas: [1] Ir Arriba Respuesta Imprimir 

Ir a:  

Mensajes similares
Asunto Iniciado por Respuestas Vistas Último mensaje
[RESUELTO] Una variable mal declarada « 1 2 »
Programación Visual Basic
BorecK 12 4,180 Último mensaje 5 Diciembre 2006, 04:40 am
por MANULOMM
Llamar a una clase declarada en una DLL
Programación C/C++
JaimeAsm 1 2,374 Último mensaje 29 Julio 2010, 18:50 pm
por Riki_89D
Guerra declarada de Hotfile a los que infringen derechos de autor
Noticias
chillinfart 2 2,417 Último mensaje 22 Febrero 2011, 02:07 am
por K41N
La cláusula Handles requiere una variable WithEvents ????
.NET (C#, VB.NET, ASP)
luis456 2 8,907 Último mensaje 13 Octubre 2013, 04:45 am
por luis456
La abeja es declarada el ser vivo más importante del planeta
Foro Libre
Machacador 7 1,800 Último mensaje 4 Julio 2019, 21:16 pm
por #!drvy
WAP2 - Aviso Legal - Powered by SMF 1.1.21 | SMF © 2006-2008, Simple Machines