Foro de elhacker.net

Programación => Programación Visual Basic => Mensaje iniciado por: hardkoo en 21 Abril 2006, 16:11 pm



Título: Ayuda: conexion WS compartida en forms.
Publicado por: hardkoo en 21 Abril 2006, 16:11 pm
Wenas, aver si me podeis ayudar :), ya que me estoy iniciando en esto de la programacion en VB.

Estoy haciendo un programa que utiliza un form1 principal en el que se ejecuta un Winsock y establece una conexion con otro programa. Dentro de este form1 he creado un boton que abre otro form2.
En este form2 pondre lo que quiero hacer con la conexion establecida como recibir datos o enviar.

Lo que necesito saber es como puedo utilizar la conexion que ya se ha establecido en el form1, utilizarla en el form2. Si el programa lo hago todo en un form1 me funciona, pero quiero hacer que la conexion que ya se ha establecido la utilize el form2.
Nose si se podra hacer, o alomejor hay alguna otra manera de hacerlo mas facil :-\. Aber si alguien me ha entendido y sabe alguna manera.

-salu2- y Gracias


Título: Re: Ayuda: conexion WS compartida en forms.
Publicado por: moe88 en 21 Abril 2006, 18:41 pm
Pues a ver, si lo que quieres es mandar datos teniendo el control winsock en el form1, pues tienes 2 opciones que yo sepa

a) Form1.Winsock.sendData (loquesea) ' Directamente desde el form2

b) (A mi me gusta más)

en el form1

Public Function EnviarDatos(Byval datos as string)
  winsock.sendData (datos)
End function

En el form2

call enviardatos(loquesea)


Eso para enviar, para recibir datos, pues por ejemplo, si en el form1, que es donde tienes que tener el evento data arraival, tal como te llegan los datos, dependiendo de los primeros carácteres, pues lo derivas al form 2, o sea, y es una de las maneras de hacerlo...

Private Sub ws_DataArrival(ByVal bytesTotal As Long)
 winsock.getData datos
 if left(datos, 3= "XXX" then
         tamDatos = Len(datos)
         datos = right(datos,(tamDatos-3) ' para no pasar las XXX a la funcion
         call loquesea(datos)
end sub

y en el form2

Public Function loquesea (byval datos as string)
' y aqui haces lo que te interese con los datos
End function