elhacker.net cabecera Bienvenido(a), Visitante. Por favor Ingresar o Registrarse
¿Perdiste tu email de activación?.

 

 


Tema destacado: Entrar al Canal Oficial Telegram de elhacker.net


+  Foro de elhacker.net
|-+  Programación
| |-+  Programación General
| | |-+  .NET (C#, VB.NET, ASP)
| | | |-+  Programación Visual Basic (Moderadores: LeandroA, seba123neo)
| | | | |-+  Ayuda Error 92 en tiempo de Ejecucion
0 Usuarios y 1 Visitante están viendo este tema.
Páginas: [1] Ir Abajo Respuesta Imprimir
Autor Tema: Ayuda Error 92 en tiempo de Ejecucion  (Leído 6,389 veces)
mastercss

Desconectado Desconectado

Mensajes: 36


Ver Perfil
Ayuda Error 92 en tiempo de Ejecucion
« en: 16 Junio 2010, 21:55 pm »

Estoy programando con webrowser una aplicación que automatice la construcción de unidades en un juego de navegador del estilo ogame.
El error salta en timepo de ejecución:


Error 91 en tiempo de ejecución:
Variable de tipo Object o la variable de tipo With no esta establecida.


La linea que señala el depurador es esta:

var_value.Value = Val(Text3.Text)


Código
  1. Option Explicit
  2. 'FIXIT: Declare 'doc' con un tipo de datos de enlace en tiempo de compilación              FixIT90210ae-R1672-R1B8ZE
  3. Dim doc As Object
  4. 'FIXIT: Declare 'var_input' con un tipo de datos de enlace en tiempo de compilación        FixIT90210ae-R1672-R1B8ZE
  5. Dim var_input As Object
  6. 'FIXIT: Declare 'var_value' con un tipo de datos de enlace en tiempo de compilación        FixIT90210ae-R1672-R1B8ZE
  7. Dim var_value As Object
  8. 'FIXIT: Declare 'var_but' con un tipo de datos de enlace en tiempo de compilación          FixIT90210ae-R1672-R1B8ZE
  9. Dim var_but As Object
  10. 'FIXIT: Declare 'hangar' con un tipo de datos de enlace en tiempo de compilación           FixIT90210ae-R1672-R1B8ZE
  11. Dim hangar As Object
  12. Dim naves As String
  13. Private Sub Command1_Click()
  14. Set doc = WebBrowser1.Document
  15. Set var_input = doc.getelementbyid("username")
  16. var_input.Value = Text1.Text
  17. Set var_input = doc.getelementbyid("password")
  18. var_input.Value = Text2.Text
  19. Set var_but = doc.getelementbyid("submit")
  20. var_but.Click
  21. End Sub
  22.  
  23. Private Sub Command2_Click()
  24. Dim bucle As Long
  25. Dim cantidad As String
  26. For bucle = 1 To Val(Text4.Text)
  27. WebBrowser1.Navigate "http://uni3.zagamex.com.ar/game.php?page=buildings&mode=fleet"
  28. Set hangar = WebBrowser1.Document
  29. Set var_value = hangar.getelementbyid(Label20.Caption)
  30. var_value.Value = Val(Text3.Text)
  31. Set var_but = hangar.getelementbytagname("INPUT")
  32. 'FIXIT: Declare 'result' con un tipo de datos de enlace en tiempo de compilación           FixIT90210ae-R1672-R1B8ZE
  33. Dim result
  34. For Each result In hangar.getelementbytagname("INPUT")
  35.    If result.Value = "Construir" Then var_but.Click
  36. Next
  37. Next
  38. End Sub
  39.  
  40. Private Sub Form_Load()
  41. Text1.Text = ""
  42. Text2.Text = ""
  43. Text3.Text = ""
  44. Text4.Text = ""
  45. WebBrowser1.Navigate "http://uni3.zagamex.com.ar"
  46. End Sub
  47. Private Sub Option1_Click()
  48. If Option1.Value = True Then Label20.Caption = "fmenge[202]"
  49. End Sub
  50. Private Sub Option2_Click()
  51. If Option2.Value = True Then Label20.Caption = "fmenge[203]"
  52. End Sub
  53. Private Sub Option3_Click()
  54. If Option3.Value = True Then Label20.Caption = "fmenge[204]"
  55. End Sub
  56. Private Sub Option4_Click()
  57. If Option4.Value = True Then Label20.Caption = "fmenge[205]"
  58. End Sub
  59. Private Sub Option5_Click()
  60. If Option5.Value = True Then Label20.Caption = "fmenge[206]"
  61. End Sub
  62. Private Sub Option6_Click()
  63. If Option6.Value = True Then Label20.Caption = "fmenge[207]"
  64. End Sub
  65. Private Sub Option7_Click()
  66. If Option7.Value = True Then Label20.Caption = "fmenge[208]"
  67. End Sub
  68. Private Sub Option8_Click()
  69. If Option8.Value = True Then Label20.Caption = "fmenge[209]"
  70. End Sub
  71. Private Sub Option9_Click()
  72. If Option9.Value = True Then Label20.Caption = "fmenge[210]"
  73. End Sub
  74. Private Sub Option10_Click()
  75. If Option10.Value = True Then Label20.Caption = "fmenge[211]"
  76. End Sub
  77. Private Sub Option11_Click()
  78. If Option11.Value = True Then Label20.Caption = "fmenge[212]"
  79. End Sub
  80. Private Sub Option12_Click()
  81. If Option12.Value = True Then Label20.Caption = "fmenge[213]"
  82. End Sub
  83. Private Sub Option13_Click()
  84. If Option13.Value = True Then Label20.Caption = "fmenge[214]"
  85. End Sub
  86. Private Sub Option14_Click()
  87. If Option14.Value = True Then Label20.Caption = "fmenge[215]"
  88. End Sub
  89. Private Sub Option15_Click()
  90. If Option15.Value = True Then Label20.Caption = "fmenge[216]"
  91. End Sub
  92.  
  93.  

HE leido sobre el error pero no termino de entender el motivo, si me lo pudieran explicar muy simple como para tontos lo agradeceria.

Gracias de antemano y Salu2


« Última modificación: 16 Junio 2010, 21:57 pm por mastercss » En línea

hunter18

Desconectado Desconectado

Mensajes: 202


Ver Perfil
Re: Ayuda Error 92 en tiempo de Ejecucion
« Respuesta #1 en: 17 Junio 2010, 22:38 pm »

Parece que te falta alguna referencia no te acepta el var_value.Value como tipo object te esta obligando a agregar su referencia sea cual sea el objeto que quieres crear.

Prueba declarandolo asi Dim var_value y vb automaticamente declara el tipo correcto por otro lado lado al no declarar el tipo de dato siempre se declara como object.


En línea

mastercss

Desconectado Desconectado

Mensajes: 36


Ver Perfil
Re: Ayuda Error 92 en tiempo de Ejecucion
« Respuesta #2 en: 18 Junio 2010, 18:05 pm »

Pero fijate, lo he declrado en option explicit y nada. No entiendo el motivo pero no reconoce el objeto.  Salu2
En línea

raul338


Desconectado Desconectado

Mensajes: 2.633


La sonrisa es la mejor forma de afrontar las cosas


Ver Perfil WWW
Re: Ayuda Error 92 en tiempo de Ejecucion
« Respuesta #3 en: 18 Junio 2010, 18:12 pm »

El problema puede ser que no encuentra el tipo fmenge
  • fijate, compara si var_value esnothing antes de hacer lo que sigue
En línea

hunter18

Desconectado Desconectado

Mensajes: 202


Ver Perfil
Re: Ayuda Error 92 en tiempo de Ejecucion
« Respuesta #4 en: 18 Junio 2010, 18:53 pm »

No se que tratas de hacer pero estas seteando objetos varias veces, ademas utilizas un FIXIT: que no se que hara pero dice que el tipo de dato debe ser de "tipo de datos de enlace" por ahi debe estar el error.
Quizas haya un error en el bucle, quita el bucle principal For bucle = 1 To Val(Text4.Text) y solo ejecuta el codigo una vez como si el bucle fuera For bucle = 1 To 1
Por otro lado estas declarando un variable dentro de un bucle ahi podria estar el error.

Código:
Dim bucle As Long
Dim cantidad As String
Dim result

WebBrowser1.Navigate "http://uni3.zagamex.com.ar/game.php?page=buildings&mode=fleet"

For bucle = 1 To Val(Text4.Text)

  Set hangar = WebBrowser1.Document
  Set var_value = hangar.getelementbyid(Label20.Caption)
  var_value.Value = Val(Text3.Text)
  Set var_but = hangar.getelementbytagname("INPUT")
 
  'FIXIT: Declare 'result' con un tipo de datos de enlace en tiempo de compilación FixIT90210ae-R1672-R1B8ZE
  For Each result In hangar.getelementbytagname("INPUT")
     If result.Value = "Construir" Then var_but.Click
  Next

Next
En línea

hunter18

Desconectado Desconectado

Mensajes: 202


Ver Perfil
Re: Ayuda Error 92 en tiempo de Ejecucion
« Respuesta #5 en: 18 Junio 2010, 18:57 pm »

El problema puede ser que no encuentra el tipo fmenge
  • fijate, compara si var_value esnothing antes de hacer lo que sigue
Tambien podria ser eso que no te carga la variable prueba asi, haber si devuelve algo o si esta vacio
Código:
Set var_value = hangar.getelementbyid(Label20.Caption)
msgbox var_value
var_value.Value = Val(Text3.Text)

o directamente Set var_value = hangar.getelementbyid("fmenge[202]") haber que sale?
En línea

mastercss

Desconectado Desconectado

Mensajes: 36


Ver Perfil
Re: Ayuda Error 92 en tiempo de Ejecucion
« Respuesta #6 en: 18 Junio 2010, 19:05 pm »

Lo unico que puede pasar es esto--->set var_value=hangar.getelementbytagname(label20.caption)
imagino que puede ser el causante.

Respondiendo a hunter 18. Resulta que rellena un campo input text con el numero de tropas y las veces que quieres que se repita la accion y le da a construir. El problema esk el boton no tiene asociado ni "name" ni "id" asi que tengo que usar getelementbytagname("input") para sacar todos los elementos input de la pagina en un array. Despues utilizo for each para buscar el input que tenga como valor "Construir" y si se cumple la condicion var_but.click clicka en el boton.

El for del principio repite el proceso de construccion tantas veces como se haya establecido en el programa. Digamos que es una especi de macro web.



Salu2
En línea

mastercss

Desconectado Desconectado

Mensajes: 36


Ver Perfil
Re: Ayuda Error 92 en tiempo de Ejecucion
« Respuesta #7 en: 18 Junio 2010, 22:27 pm »

HE provado quitando el for y sigue el mismo error. Tambien he probado a que el msgbox tire el valor de la variable pero el error sigue siendo el mismo.



Salu2
En línea

abkanis

Desconectado Desconectado

Mensajes: 34


Ver Perfil
Re: Ayuda Error 92 en tiempo de Ejecucion
« Respuesta #8 en: 23 Abril 2014, 14:46 pm »

Esta desactualizado esto, pero recuerdo que ese error de debe a que el nombre o id  del elemento dentro d ela pagina de juego, se repite  2 veces,o lleva un valor de numero.
En línea

Páginas: [1] Ir Arriba Respuesta Imprimir 

Ir a:  

WAP2 - Aviso Legal - Powered by SMF 1.1.21 | SMF © 2006-2008, Simple Machines