Portal    Foro    Buscar    FAQ    Registrarse    Conectarse

Error "Objeto Nulo"

Error "Objeto Nulo"
Artículo
Responder citando    Descargar mensaje  
Mensaje 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!



 
ArielPalazzesi - Ver perfil del usuario Enviar mensaje privado  
ArielPalazzesi [ Lunes, 17 Diciembre 2012, 13:20 ]
 


Error "Objeto Nulo"
Comentarios
Responder citando    Descargar mensaje  
Mensaje 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



 
Shell - Ver perfil del usuario Enviar mensaje privado  
Shell [ Lunes, 17 Diciembre 2012, 14:07 ]
Responder citando    Descargar mensaje  
Mensaje 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.



 
ArielPalazzesi - Ver perfil del usuario Enviar mensaje privado  
ArielPalazzesi [ Lunes, 17 Diciembre 2012, 14:12 ]
Mostrar mensajes anteriores:    
 
Publicar nuevo tema  Responder al tema  Página 1 de 1
 
 

Usuarios navegando en este tema: 0 registrados, 0 ocultos y 1 invitado
Usuarios registrados conectados: Ninguno


 



 

cron