[Ayuda] Inet (Todavía se está ejecutando la última petición)

Iniciado por The_Shakah, 9 Agosto 2008, 09:11 AM

0 Miembros y 1 Visitante están viendo este tema.

The_Shakah

Hola a todos... mi problema en concreto es este.. tengo un INET que tiene conectarse a esta web "http://www.whatismyip.com/automation/n09230945.asp" a travez del OpenURL y así decir la IP de la computadora.

Es algo muy fácil y simplemente puse:

Text2.Text = Inet1.OpenURL


Sin embargo, al ejecutar esa instruccion dos veces seguidas en un intervalo muy corto sale el siguiente error:

Error '35764' en tiempo de ejecución :

Todavía se está ejecutando la última petición


Asique estuve buscando y aparentemente la solción seria esta:

Do
    DoEvents
Loop Until Inet1.StillExecuting = False
Text2.Text = Inet1.OpenURL


Sin embargo, no funciona, y es porque el Inet1.StillExecuting se queda siempre en True, y por lo tanto, se crea un ciclo infinito y no sale de ese Loop... No tengo idea por qué

Desde ya gracias por su ayuda  ;D

Spider-Net

Has probado algo más simple?? como...

Código (vb) [Seleccionar]
Text2.Text = Inet1.OpenURL
DoEvents
Text2.Text = Inet1.OpenURL


:huh: :huh: :huh:

A lo mejor funciona, y sino puedes hacer una espera en segundos con la siguiente función:

Código (vb) [Seleccionar]
Sub Espera(Segundos As Single)
  Dim ComienzoSeg As Single
  Dim FinSeg As Single
  ComienzoSeg = Timer
  FinSeg = ComienzoSeg + Segundos
  Do While FinSeg > Timer
      DoEvents
      If ComienzoSeg > Timer Then
          FinSeg = FinSeg - 24 * 60 * 60
      End If
  Loop
End Sub


Y pones

Código (vb) [Seleccionar]
Text2.Text = Inet1.OpenURL
Espera(1)
Text2.Text = Inet1.OpenURL


Supongo que funcionará...

Saludos!

The_Shakah

Funcionaría si fuese tal como decís, pero no es un CommandButton ejecutando las dos funciones al mismo tiempo, el CommandButton ejecuta el OpenURL una sola vez:

Private Sub Command1_Click()
Espera (1)
Text2.Text = Inet1.OpenURL
End Sub

El problema es cuando haces dos veces seguidas click en el CommandButton, y ninguna de las dos formas que sugeriste me funcionaron  :huh:

gracias igual y espero poder encontrar la solucion  ;D

Spider-Net

Mira yo las webs siempre que necesito acceder desde algún programa lo hago así, sin inet y me funciona bien...

Código (vb) [Seleccionar]
        Url = "http://www.loquesea.com"

        hOpen = InternetOpen(scUserAgent, INTERNET_OPEN_TYPE_DIRECT, _
        vbNullString, vbNullString, 0)
        hFile = InternetOpenUrl(hOpen, Trim$(Url), vbNullString, _
        ByVal 0&, INTERNET_FLAG_NO_CACHE_WRITE, ByVal 0&)


A lo mejor así te funciona... o sino puedes probar a ponerle un DoEvents delante.

Saludos!

thejuanker

the_shakah, prueba  con la propiedad RequestTimeout para matar el loop infinito, talves te deje seguir

The_Shakah

Al final lo solucione de otra manera.. porque yo lo que tengo es una aplicacion cliente-servidor, el servidor le pide al cliente la IP, el cliente se fija la ip con el OpenURL del Inet, y luego le dice al servidor la IP, lo que he hecho es que el botón para Pedir la IP quede deshabilitado hasta que el cliente (o los clientes, porque es de multiconexion) respondan sus IPs

Ya esta, no me complique más  ;D

Gracias a todos x la ayuda y saludos.