Problema con la creación de Objeto

Antes de ir al Soporte consultame aquí, gracias
Responder
Horacio
Mensajes: 3
Registrado: 21 May 2012, 06:11

Problema con la creación de Objeto

Mensaje por Horacio »

Hola a todos, estoy comenzando a estudiar el tema y tomé como referencia la página http://es.scribd.com/doc/48235203/Libro-Autoit.
Estaba todo bien hasta que uno de lo ejemplos no lo pude solucionar, me da error:
"The requested action with this object has failed.:
$oHTTP.Send()
$oHTTP.Send()^ ERROR
"

El código parece sencillo y es :
$oHTTP = ObjCreate("winhttp.winhttprequest.5.1")
$oHTTP.Open("GET","http://www.AutoItScript.com")
$oHTTP.Send()
$HTMLSource = $oHTTP.Responsetext


probé cambiando el nombre de varias páginas pero siempre me da el mismo error.¿Faltará declarar algo o alguna librería?
Desde ya agradezco si me pueden dar una mano, recuerden que me estoy iniciando y quizás peco de ignorante.
Un abrazo a todos.
Última edición por Horacio el 24 May 2012, 15:34, editado 1 vez en total.
Avatar de Usuario
arkcrew
Profesional del Autoit
Mensajes: 506
Registrado: 28 Sep 2009, 19:17
Ubicación: Granada, España
Contactar:

Re: Soy nuevo y necesito Ayuda

Mensaje por arkcrew »

Hola,

En primer lugar por eso de ser nuevo y tal, te comento que para que podamos echarte un cable más rápidamente, es mucho mejor que modifiques el título de tu pregunta, cuando yo leo, "soy nuevo y necesito ayuda" pues no se por donde cogerlo, en cambio si leo, problema con la creación de un objeto o problema con objetos o algo similar es mucho más útil.

El código ese no tiene mucha más complicación ya que al ser un objeto no necesitas declarar ninguna librería.

Lo que está fallando aqui es el objeto, puedes ver que error da autoit de forma más detallada pegando esto en tu código:

Código: Seleccionar todo

$oMyError = ObjEvent("AutoIt.Error","MyErrFunc")    ; Initialize a COM error handler
; This is my custom defined error handler
Func MyErrFunc()
  Msgbox(0,"AutoItCOM Test","We intercepted a COM Error !"    & @CRLF  & @CRLF & _
             "err.description is: " & @TAB & $oMyError.description  & @CRLF & _
             "err.windescription:"   & @TAB & $oMyError.windescription & @CRLF & _
             "err.number is: "       & @TAB & hex($oMyError.number,8)  & @CRLF & _
             "err.lastdllerror is: "   & @TAB & $oMyError.lastdllerror   & @CRLF & _
             "err.scriptline is: "   & @TAB & $oMyError.scriptline   & @CRLF & _
             "err.source is: "       & @TAB & $oMyError.source       & @CRLF & _
             "err.helpfile is: "       & @TAB & $oMyError.helpfile     & @CRLF & _
             "err.helpcontext is: " & @TAB & $oMyError.helpcontext _
            )
Endfunc
Que es lo que he sacado del foro inglés de autoit,

A mi personalmente me funciona, cambié la página y me funciona perfecto, mira este es mi código:

Código: Seleccionar todo

$oHTTP = ObjCreate("winhttp.winhttprequest.5.1")
$oHTTP.Open("GET","http://www.autoit.es")
$oHTTP.Send()
$HTMLSource = $oHTTP.Responsetext
ConsoleWrite($HTMLSource)
Si no te funciona ya te digo lo que falla es el objeto, asi que prueba ese primer código a ver que te devuelve y nos cuentas.

Saludos!
Avatar de Usuario
Ximorro
Profesional del Autoit
Mensajes: 1500
Registrado: 10 Jul 2009, 12:35
Ubicación: Castellón, España

Re: Problema con la creación de Objeto

Mensaje por Ximorro »

A mí también me funciona, y estoy en un XP...

La primera vez que lo he ejecutado le ha costado mucho conectarse, quizás esta no es la mejor manera de acceder a una página, a ver si te está dando time out.

Dependiendo de lo que quieras puede ser más interesante usar otros métodos, piensa que aquí estás introduciendo un objeto, que puede estar fallando independientemente del código de AutoIt, o sea, puede que el programa esté perfectamente pero lo que falla es el acceso al objeto (no está bien registrado, no está en tu versión de Windows, etc...)

Por ejemplo si lo que quieres es tomar el código de la página lo puedes hacer más fácilmente con InetGet(), que guarda lo que descargas en un archivo, o con _INetGetSource(), que lee la página en memoria (para este último hace falta incluir la librería INet.au3)
"¿Y no será que en este mundo hay cada vez más gente y menos personas?". Mafalda (Quino)
Responder