Saber si array dinámico está inicializado

Como puedo saber si un array que no está inicializado nolo está
ej.
dim alumnos() as string
if ubound(alumnos)> 0 then....
Esto da error ya que no está inicializado.
Con isnull o isempty también da error.
Me gustaría saber que puedo usar para saber que aún no ha sido inizializado.
Respuesta
1
Prueba dos cosas...
1)
if len(array()) = 0 then
'no inicializado
end if
Pero si esto no funciona (y supongo que no) usa una captura de errores
Private Sub..........
On error goto Err_Inicializar
if ubound(alumnos)> 0 then
'daria el error pero va a la etiqueta Err_Inicializar
End if
:Salir 'no recuerdo si los dos puntos van antes o despues (Salir:)
on error goto 0
exit sub
:Err_Inicializar
if err.number = (numeroError) then
msgbox "sin inicializar"
end if
Resume Salir
End Sub
En numeroError coloca el valor del error que te da normalmente. Apuntalo y luego reemplazas esta palabra por ese numero

1 respuesta más de otro experto

Respuesta
1
He tenido ese problema y lo he resuelto, pero ahora no tengo instalado el VB así que tendré que actuar algo de memoria. Una solución es utilizar la función isArray, la otra es capturar el error, esto es bueno pasarlo a una función que te devuelva el true o el false por ejemplo, para esto, sería algo más o menos así.
On error goto tratarError ' puedes capturar sólo el error que tú quieras poniendo dicho código justo detrás de la palabra error.
if ubound(alumnos) > 0 then ...
exit function
tratarError:
redim alumnos(0) as string
resume
End function

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas