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
Has probado algo más simple?? como...
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:
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
Text2.Text = Inet1.OpenURL
Espera(1)
Text2.Text = Inet1.OpenURL
Supongo que funcionará...
Saludos!
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
Mira yo las webs siempre que necesito acceder desde algún programa lo hago así, sin inet y me funciona bien...
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!
the_shakah, prueba con la propiedad RequestTimeout para matar el loop infinito, talves te deje seguir
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.