Utilizamos Cookies de terceros para generar estadísticas de audiencia y mostrar publicidad personalizada analizando tu navegación. Si sigues navegando estarás aceptando su uso. Más información X
PortadaForo AyudaTutoriales
InicioForosForo Programación

Error en tiempo de ejecucucion 5 en VB6

wislow
2011-07-07 13:17 - Respuestas: 8 - Tema nº: 2804701


No es necesario. Windows XP professional Sp2....

hola a todos. me ha surgido un problema con vb6 que no entiendo, el siguiente código genera un mensaje de error: invalid call procedure. runtime error 5, o algo similar y la verdad, llevo un tiempo sin programar en vb6 y lo tengo algo oxidado. el código en cuestión es este:

private sub text4_change()
if len(text4.text) = 10 then
dim texto as string
texto = text4.text
dim counter as byte
for i = 0 to 10
for j = 0 to 10
if (mid(texto, i, 1) = mid(texto, j, 1)) then
counter = counter + 1
end if
next j
if counter >= 2 then
goto error
end if
counter = 0
next i
end if
exit sub
error:
msgbox "hay caracteres repetidos", vbcritical
text4.text = ""
exit sub
end sub

la línea que se maraca es la del if con los dos mid, y lo que se supone que debe hacer el código es saltar si en un text box hay caracteres repetidos. como se cuenta siempre desde el principio ya supongo que el contador será mínimo 1, al compararse siempre en algún momento el caracter con sí mismo, y la condición salta con contador >=2

muchs gracias de antemano y salu2




Salu2 a la plataforma BeOS/Zeta/Haiku OS
Posibles soluciones:
Error en tiempo de ejecucucion 5 en vb6Error en tiempo de ejecucucion 5 en vb6
Error 50003:error en tiempo de ejec-visual basic 5.0Error 50003:error en tiempo de ejec-visual basic 5.0
Error en tiempo de ejecucion desea depurarlo 1 errorError en tiempo de ejecucion desea depurarlo 1 error
Error en el tiempo de ejecuciónError en el tiempo de ejecución
Error en tiempo de ejecuciónError en tiempo de ejecución
Digou

Re: Error en tiempo de ejecucucion 5 en VB6 - 2011-07-08 01:04 - Respuesta 2

Hola wislow.
No entiendo el por qué de tu doble paréntesis en el if.
wislow

Re: Error en tiempo de ejecucucion 5 en VB6 - 2011-07-08 10:43 - Respuesta 3

Hola Digou. Eso de los paréntesis... pues no es por nada en especial, pero que lo he probado sin eso y nada... la desesperación me hace ser creativo ;)
He observado que si le doy a la función mid ambos valoresconstantes, por ejermplo mid(texto, 3, 1) no me da error alguno, aunque no me sirve pues lo que quiero es que se desplace el caracter estudiado en cada iteración. ¿Puede ser que VB6 no admita que el cambien esos valores reiteradamente? Porque el error es "Invalid procedure call or argument" La llamada si son constantes me la hace, luego... sólo quedan los argumentos :S
Espero que no sea eso, porque sería una limitción absurda e improcedente, con lo que defendía yo a mi VB6 frente a Java en la universidad xD

Bueno, gracias de nuevo por el esfuerzo. Salu2

PD: Sigo abierto a nuevas aportaciones o ideas


Salu2 a la plataforma BeOS/Zeta/Haiku OS
wislow

Re: Error en tiempo de ejecucucion 5 en VB6 - 2011-07-08 10:52 - Respuesta 4

por cierto, en recursos visual basic he encontrado un ejemplo de uso de mid en el que toma valores que no son constantes:

dim lenfrase as integer
dim i as integer
dim caracter as string
dim texto as string

lenfrase = len(frase)

do while i
Digou

Re: Error en tiempo de ejecucucion 5 en VB6 - 2011-07-08 17:12 - Respuesta 5

Hola wislow.
Creo que ya sé donde está tu problema.
Las funciones que manejan Strings inician la cuenta de caracteres a partir de la posicion 1, no de la posicion 0.
Tendrías que cambiar tu contador for, para que sea de 1 to 10 y nó de 0 to 10
Página:1 Siguiente

Respuestas relacionadas:

Error 462 en tiempo de ejecucionError 462 en tiempo de ejecucionForo
Error 481 en tiempo de ejecuciónError 481 en tiempo de ejecuciónForo
Error de tiempo de ejecucionError de tiempo de ejecucionForo
Error en el tiempo de ejecuciónError en el tiempo de ejecuciónForo
Error de tiempo de ejecucionError de tiempo de ejecucionForo
Error en el tiempo de ejecucionError en el tiempo de ejecucionForo
Error en tiempo de ejecucionError en tiempo de ejecucionForo
Error en tiempo de ejecucionError en tiempo de ejecucionForo
Error en tiempo de ejecucion 384Error en tiempo de ejecucion 384Foro
Error 48 en tiempo de ejecuciónError 48 en tiempo de ejecuciónForo
InicioSecciones
^ SubirAviso legal
Política Privacidad
Configurarequipos25 Abril 2024