https://foro.gambas-es.org/viewtopic.php?f=1&t=2776&p=15742#p15742
-----------------------------------
Shell
Lunes, 17 Diciembre 2012, 14:07

Re: Error "Objeto Nulo"
-----------------------------------
Hola ArielPalazzesi.

Tampoco iba a funcionar así en Gambas2.Prueba con la versión  2.24, no va.

Las variables pueden ser inicializadas con una expresión.

[code linenumbers=false syntax=gambas]
 Dim texto As String[]= ["No hay errores", "Cadena vacía.", "Dos operadores consecutivos"]
[/code]

En este caso tu sabes que el array va almacenar tres elementos.
Puedes darle una dimensión al array.

[code linenumbers=false syntax=gambas]
 Dim texto As New String[3]
    
  texto[0] = "No hay errores"
  texto[1] = "Cadena vacia."
  texto[2] = "Dos operadores consecutivos"
 [/code]

Es como decir que sus tres elementos al iniciar la variable sus valores son 0. Inicializados.

Ahora quítale el new. Te da error de sintasis.Al definir el numero de elementos
que contiene debes inicializar con NEW.

Si ahora añades un cuarto elemento.
[code linenumbers=false syntax=gambas]
..
texto[3]= "No corresponde" 'No llega, da fuera de limites
[/code]
Tienes un array solo para 3 elementos.

Si lo que quieres es un array nativo de x elementos que no conoces.
El procedimiento normal es:

O lo haces así:

[code linenumbers=false syntax=gambas]
 Dim texto As String[]= ["No hay errores", "Cadena vacía.", "Dos operadores consecutivos"]
[/code]

O usas el metodo .add

[code linenumbers=false syntax=gambas]
Dim texto As New String[]
    
  texto.Add("No hay errores")
  texto.Add("Cadena vacia.")
  texto.Add("Dos operadores consecutivos")
[/code]
El array debe ser inicializado con NEW

Es posible hacer uso de la instrucción WITH y ahorras parte de código

[code linenumbers=false syntax=gambas]
 Dim texto As New String[]
  
  With texto      
    .Add("No hay errores")
    .Add("Cadena vacia.")
    .Add("Dos operadores consecutivos")
  End With
[/code]

Saludos


