Visual Basic - vb6 Trasferir control de un control socket a otro

Life is soft - evento anual de software empresarial
 
Vista:

vb6 Trasferir control de un control socket a otro

Publicado por IÑAKI (1 intervención) el 15/06/2006 09:07:04
Muchas Gracias de antemano.
Tengo un programa con dos formularios, en cada uno de ellos tengo un control socket de tipo UDP. Cuando el programa arranca, uno de los formularios se activa y su control socket se conecta a un servidor. Mi pregunta es si puedo pasar el "vinculo" del socket al servidor, del primer formulario al control socket del segundo formulario, antes de cerrar el primer formulario. En la situación actual, si cierro el primer formulario, pierdo ese vinculo con el servidor y para poder hacer otro vinculo con el segundo control socket del segundo formulario debo esperar 5 minutos (debido a circunstancias del servidor) y es desesperante la espera. ¿ hay alguna forma de pasar ese vinculo winsock sin que se entere el servidor y alternar entre los dos formularios. La pega es que necesito cerrar los dos formularios de forma alterna.
Muchas gracias otra vez.
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder

RE:vb6 Trasferir control de un control socket a ot

Publicado por Javi RM (187 intervenciones) el 15/06/2006 11:18:53
Bueno, realmente no puedes pasar la información de un socket a otro, ya que cada socket tiene una sesión distinta.
Lo que si puedes hacer en tu caso, es pasar la instancia del objeto de un formulario a otro.

Para hacer esto debes hacer lo siguiente:

En el formulario 1 insertas el control Winsock que será único para ambos formularios y a la hora de llamar al otro formulario haces:

/*Formulario 1 al llamar al formulario 2*/
Set Form2.Socket = Me.Winsock1
Form2.Show 1

Antes de poder llamar al otro formulario en el segundo declaras una variable del tipo Winsock.

/*Declaración pública en el formulario 2*/
Public WithEvents Socket As Winsock

De este modo en el formulario 2 utilizarás el mismo socket que el del formulario 1. Si te fijas, he puesto WithEvents, para que puedas cazar los eventos del control también en el formulario 2.

Un saludo
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar