Título: una preguntilla Publicado por: elrecar en 9 Septiembre 2007, 06:29 am resulta que tengo lo siguiente:
Código: Private Sub Form_Load() Código: Private Sub Timer1_Timer() Código: Private Sub WS_Close() Código: Private Sub WS_Error(ByVal Number As Integer, Description As String, ByVal Scode As Long, ByVal Source As String, ByVal HelpFile As String, ByVal HelpContext As Long, CancelDisplay As Boolean) y la funcion Conectar bueno utiliza un un winsock llamado WS, creo que no es necesario ponerla aqui, la cosa es que cuando inicio windows normalmente, el timer se activa en el form_load y empieza a chequear todo el tiempo si existe conexion a internet, si conecto a internet todo bárbaro, salta a la funcion conectar pero si luego desconecto ya no vuelve mas a chequear para volverse a conectar d enuevo y asi.. a que se debe eso? que es lo que tengo querhacer para que por cualquier cosa que suceda error, o perdida de conexion vuelva a chequear para conectarse de nuevo? gracias.. Código: [code] Título: Re: una preguntilla Publicado por: Ferсhu en 9 Septiembre 2007, 22:09 pm podes hacer esto:
Código: If result Then Es decir, una vez q esta conectado en vez de desactivar el timer, solo le elevas el tiempo de intervalo, y si llegase a desconectar internet q vuelva a empezar a verificar con otro tiempo mas corto. Lo del "GoTo Verifica" Creo q esta de mas, es decir el timer solito se vuelve a ejecutar, En realidad todo lo del "else" no va. Espero q te sirva eso. Saludos!! Título: Re: una preguntilla Publicado por: el_trocha en 16 Septiembre 2007, 12:10 pm Yo resolvi una cosa asi, colocando en un timer los estados de conexion del winsock:
' estado de la conexion ws Private Sub T1Estado_Timer() T1Estado.Interval = 1 lblestado = ws.State Select Case ws.State Case 0 lblestado = "Conexion Cerrada con el Servidor." Case 2 lblestado = "Esperando conexión" Case 4 lblestado = "Resolviendo Host" Case 5 lblestado = "Host resuelto" Case 6 lblestado = "Intentando conectar" Case 7 lblestado = "Conectado con el Servidor : " Case 8 lblestado = "Cerrando comunicacion" Form_Load Case 9 lblestado = "Error de conexión" Form_Load End Select End Sub Y en el form load coloco un if para comprobar continuamente los estados de conexion, siempre que la conexion este cerrada, el timer de estado te devuelve al form load y este otra vez a comprobar estado. Te añado el if del form load para que lo veas mejor. estado = "7" estadows = ws.State If estadows <> estado Then ws.Close ws.CONNECT Else T1Estado_Timer End If Espero poder ayudarte con este trocito de codigo. Un saludo |