Error "Objeto Nulo"


Subject: 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!

Profile PM  
Subject: 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

Subject: 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.

Profile PM  

Page 1 of 1


  
You cannot post new topics
You cannot reply to topics
You cannot edit your posts
You cannot delete your posts
You cannot vote in polls
You cannot attach files
You can download files
You cannot post calendar events

   

This is a "Lo-Fi" version of our main content. To view the full version with more information, formatting and images, please click here.

Powered by Icy Phoenix based on phpBB
Design by DiDiDaDo

Generation Time: 0.1306s (PHP: -31% SQL: 131%)
SQL queries: 22 - Debug Off - GZIP Enabled