Portal    Foro    Buscar    FAQ    Registrarse    Conectarse


Publicar nuevo tema  Responder al tema 
Página 1 de 1
 
 
Error "Objeto Nulo"
Autor Mensaje
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 usuarioEnviar mensaje privado 
Volver arribaPágina inferior
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
 




===================
Gambas Básico
"No es un bug, es una característica no documentada"
 
Shell - Ver perfil del usuarioEnviar mensaje privadoVisitar sitio web del usuario 
Volver arribaPágina inferior
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 usuarioEnviar mensaje privado 
Volver arribaPágina inferior
Mostrar mensajes anteriores:    
 

Publicar nuevo tema  Responder al tema  Página 1 de 1
 

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


 
Lista de permisos
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



  

 

cron