Lista de errores más comunes en la programación AO
En Visual Basic 6 podemos encontrarnos con 3 tipos de errores diferentes:
- ERROR DE SINTAXIS:
Se produce cuando parte del código queda escrita de manera incompleta, ya sea porque copiaste mal o por que te equivocaste mientras escribías. Algunos errores son detectados inmediatamente que estamos escribiendo y otros solo en el momento de Ejecutar el programa.
Errores de Sintaxis Más Comunes:- Procedimiento Sub o Function no definido:
Quiere decir que la palabra marcada no existe como Procedimiento Sub o Function, esto puede ser porque efectivamente no tenemos el Sub/Function o puede ser que la palabra marcada sea parte de un comentario o una instrucción que fue truncada por un ENTER. - Variable no definida:
Cuando se utiliza Option Explicit, Visual Basic nos dará este error al encontrar una variable que no se encuentre declarada previamente. - Se esperaba End Function / Se esperaba End Sub:
Estos errores son producidos cuando no tenemos una condición de cierra de la Función o del Procedimiento, es cuestión de agregarle un End Funcion o End Sub según sea el caso. - Se ha detectado un nombre ambiguo:
Cuando tenemos dos Funciones, Procedimientos o Variables con el mismo nombre declarados, esto muchas veces es a causa de un "copiar y pegar", es necesario eliminar una de las declaraciones duplicadas para solucionar el problema. - El argumento no es opcional:
Este error sucede cuando hacemos una llamada a una Función y nos falta enviarle algún parámetro, por ejemplo "Call FuncionAlgo(1Param, 2Param)".
- Procedimiento Sub o Function no definido:
- ERROR DE RUNTIME (TIEMPO DE EJECUCIÓN):
Estos errores generalmente están fuera de nuestro dominio, como puede ser la división por cero, problemas con librerías, archivos en uso, etc. durante la ejecución Visual Basic nos hará saber si ocurre una interrupción de este genero.
Errores de Runtime (Tiempo de ejecución) Más Comunes:- Error 6 - Desbordamiento:
Cuando una variable intenta almacenar un valor superior al máximo predefinido ocurre un Desbordamiento, por ejemplo si dividimos 0/0 ocurre un desbordamiento porque el resultado es infinito... en una variable Integer el limite es de 32 Mil(+/-), cualquier numero superior causaría un desbordamiento, un Long soporta hasta 2 Billones(+/-) y un Byte soporta solo 255 positivos. - Error 9 - El subíndice está fuera del intervalo:
Para que se produzca este error debe intentar agregarse un numero elemento inexistente en un array(vector), esto quiere decir que si el array(vector) ha sido creado desde 0 a 100, si se le intenta agregar el elemento 101 daría error 9... este error es muy común cuando se trabaja con INIT de gráficos superior a 32 mil, ya que el array(vector) de control esta diseñado a "modo de Integer" y por lo tanto limitado a 32 mil imágenes. - Error 13 - No coinciden los tipos:
Este error se produce cuando intentamos almacenar un tipo de valor diferente al predefinido de la variable, por ejemplo si queremos guardar una palabra(string) en una variable Integer (numérica). - Error 424 - Se requiere un objeto:
En este error la falla es externa al código, y se trata de una librería de referencia (generalmente de extensión DLL), para poder corregir este problema es necesario determinar cual es la librería faltante, asegurarse de conseguirla y luego registrarla en el sistema. - Error 429 - El componente ActiveX no pudo crear el objeto:
En este error generalmente, pero no siempre, es producido al utilizar DirectX8 sin tener correctamente registradas las librerías en el sistema. Para corregir el problema es necesario registrar las librerías de DirectX8 para Visual Basic 6.
Lo puedes hacer con esta herramienta:
SOLO los Usuarios Registrados pueden ver los enlaces! // Prohibida su copia sin autorización del autor //
Actualizado: 21/04/2012 - ^[GS]^
Continuará...
Publicado: 17 Feb 2010 05:05La verdad esta buenisimo y bien explicado
Solo tienen que gastar 5 minutos de sus valiosas vidas y van a insultar menos a la PC(En especial al Vb).
Saludos y buen aporte gs!
Publicado: 17 Feb 2010 19:23Aportaso para los que no saben programacion, yo cuando era nw y no sabia que era variable no defined
me moria xd.
saludos
Publicado: 17 Feb 2010 21:41Me viene re bien! gracias
Publicado: 18 Feb 2010 14:54Muy bueno GS
Yo uso VB en Ingles.
Despues te los traduzco a Ingles porque mucha gente lo debe user en Ingles.
Publicado: 18 Feb 2010 15:59Lo que me parece que está explicado medio a los ponchazos es el rt 9
, no queda muy claro cuando ocurre U.U, habría que hacerlo un poco más explicito
. O sea, con lo que decís de agregar tal elemento me suena más a un redim que a otra cosa, jaja. Yo pondría algo más así:
Este error ocurre cuando en un array(vector) hacemos referencia a un elemento inexistente, por ej., si tenemos un array de que va de 1 a 100, e intentamos asignarle un valor o leer uno al elemento 101, el vb nos dará este error. Esto mismo también ocurre cuando tenemos un array de un objeto(se llama así cuando tenemos varios objetos con el mismo nombre pero con diferentes Index
?) y hacemos referencia a un índice inexistente. Otro modo de que aparezca es si tenemos un array dinámico y le hacemos un redim preserve(para que conserve los datos) y le indicamos un inicio menor al que teníamos, por ej, - Private Sub TestRt9Array()
- Dim bArray()as byte
- redim bArray(1 to 10) as byte
- redim preserve bArray(10)as byte'Como no le indicamos el número de inicio tomará como inicio 0
- end sub
Saludos
Publicado: 21 Feb 2010 22:38Muy bueno Gs me encanto
, espero uqe ayude a muchos esto
Publicado: 26 Feb 2010 20:51Muy bueno GS
!!
Sin duda, servira de muchisimo !! 
Publicado: 03 Mar 2010 02:44Buen aporte para los que no saven que corno les tira cuando tienen errores y lo dejan tirado antes cuando no savia nada programar solo cambiar ip me saltaaba error asia otro nuevo
buen aporte y bien explicado para principiantes.
Publicado: 03 Mar 2010 02:53Muy bueno gs!, la verdad siempre te sarpas en todo lo que haces
... Hasta en el msn y todo sos groso... Nose como sos asi
...
Suerte!,
Me voy a leer la parte de la mitad que me parece interesante. De los errores con numeros porque aveces joden
...
Chau!
Publicado: 10 Mar 2010 19:44y que caraj0 pasa si me dice "El argumento no es opcional" Especialmente en la linea por0nga esta Call WriteUserChar
GRRRRRRRRRR 12.3
Publicado: 13 Mar 2010 02:19Quiere decir que en la llamada a ese sub te estás morfando un argumento ;S.
Publicado: 13 Mar 2010 02:26
Publicado: 13 Mar 2010 04:09maTih.- escribió:y que caraj0 pasa si me dice "El argumento no es opcional" Especialmente en la linea por0nga esta Call WriteUserChar
GRRRRRRRRRR 12.3
Significa que te falta ponerle un argumento obligatorio... esto quiere decir Funcion(1erArgumento,2doArgumento... etc) los Opcionales son opcionales... el ByVal, ByRef son obligatorios... si no dice nada es como un ByRef (corrección by Pato)
Publicado: 14 Mar 2010 23:50Si no dice nada es ByRef GS ;$
- Error 6 - Desbordamiento: