Error "Objeto Nulo"


Objetivo: Error "Objeto Nulo"
Hola!

Estoy comenzando a usar gambas3 (use la version 2 hace un par de años) y me estoy encontrando con algunos problemas con la sintaxis. Por ejemplo, en esta funcion

Public Function fsTextoError(codigo As Integer) As String
Dim texto As String[]

texto[0] = "No hay errores"
texto[1] = "Cadena vacia."
texto[2] = "Dos operadores consecutivos"

Return texto[codigo]

End Function



me dá el error "objeto nulo" en la linea texto[0] = "No hay errores"

¿Que estoy escribiendo mal?

Saludos!

Perfil MP  
Objetivo: 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.

Dim texto As String[]= ["No hay errores", "Cadena vacía.", "Dos operadores consecutivos"]


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

Dim texto As New String[3]

texto[0] = "No hay errores"
texto[1] = "Cadena vacia."
texto[2] = "Dos operadores consecutivos"


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.
..
texto[3]= "No corresponde" 'No llega, da fuera de limites

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í:

Dim texto As String[]= ["No hay errores", "Cadena vacía.", "Dos operadores consecutivos"]


O usas el metodo .add

Dim texto As New String[]

texto.Add("No hay errores")
texto.Add("Cadena vacia.")
texto.Add("Dos operadores consecutivos")

El array debe ser inicializado con NEW

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

Dim texto As New String[]

With texto
.Add("No hay errores")
.Add("Cadena vacia.")
.Add("Dos operadores consecutivos")
End With


Saludos

Objetivo: Re: Error "Objeto Nulo"
EXCELENTE RESPUESTA!!!!!!!!

En realidad el array tiene un par de docenas de elementos, pero con tu explicacion no voy a tener problemas en hacerlo: los voy agregando con el metodo .add


Te agradezco enormemente la respuesta, me ha venido muy bien.

Un abrazo.

Perfil MP  

Página 1 de 1


  
No puede crear mensajes
No puede responder temas
No puede editar sus mensajes
No puede borrar sus mensajes
No puede votar en encuestas
No puede adjuntar archivos
Puede descargar archivos
No puede publicar eventos en el calendario

   

Está utilizando la versión (Lo-Fi). Para ver la versión completa del foro, haga clic aquí.

Powered by Icy Phoenix based on phpBB
Design by DiDiDaDo

Página generada en:: 7.4614s (PHP: -96% SQL: 196%)
Consultas SQL: 45 - Debug off - GZIP Activado