Portal    Foro    Buscar    FAQ    Registrarse    Conectarse


Publicar nuevo tema  Responder al tema 
Página 1 de 1
 
 
Uninitialized Variable
Autor Mensaje
Responder citando   Descargar mensaje  
Mensaje Uninitialized Variable 
 
Hola a todos.
Al crear un ejecutable de gambas me aparece unos mensajes en "Warnings" que dicen que las variables son "Uninitialized".
Lo de variable "Unused" estaba claro pero esto no comprendo la razon por la que no se inician ya que están declaradas.
¿Alguna idea de que se trata?
 uninitialized_variable
Saludos.
 



 
tincho - Ver perfil del usuarioEnviar mensaje privado 
Volver arribaPágina inferior
Responder citando   Descargar mensaje  
Mensaje Re: Uninitialized Variable 
 
Pues no. Nunca había visto ese mensaje. Declarar una variable es asignar una dirección de memoria. Supongo que es distinto de almacenar un valor en ella... pero ya te digo, nunca me ha salido ese mensaje.
 




===================
No podemos regresar
 
última edición por shordi el Miercoles, 01 Agosto 2018, 19:20; editado 1 vez 
shordi - Ver perfil del usuarioEnviar mensaje privado 
Volver arribaPágina inferior
Responder citando   Descargar mensaje  
Mensaje Re: Uninitialized Variable 
 
A mí tampoco me ha salido nunca.
Lo siento.
 



 
Grandamakulo - Ver perfil del usuarioEnviar mensaje privadoVisitar sitio web del usuario 
Volver arribaPágina inferior
Responder citando   Descargar mensaje  
Mensaje Re: Uninitialized Variable 
 
shordi escribió: [Ver mensaje]
...nunca me ha salido ese mensaje.

A mi sì.

Por lo que he visto........., este problema ocurre cuando una variable es utilizada, pero no es inicializada: es decir que nunca recibe algún valor.
Pero no da problemas.


Escribiendo este codigo:
Public Sub Main()

  Dim a, b As Integer
  
    b = a * 1000
    
    Print b

End

Al "compilar todo" (Alt+F7), nosotros obtenemos el mensaje que has detectado.
En efecto la variable "a" no está inicializada.

Lo mismo es esto:
Public Sub Main()

  Dim a, b As Integer
  
    b = Calculus(a)
  
    b = b * 1000
    
    Print b

End


Private Function Calculus(i As Integer) As Integer
  
  Return i * 1000
  
End

La variable "a", pasada a la función "Calculus( )", nunca ha visto su inicialización.
Al "compilar todo" (Alt+F7), nosotros obtenemos el mensaje que has detectado.


Cuando la variable es inicializada de algún modo...
Public Sub Main()

  Dim a, b As Integer
  
    a = Calculus(1000)   ' <---- La variable "a" aquì es inicializada
  
    b = a * 1000
    
    Print b

End


Private Function Calculus(i As Integer) As Integer
  
  Return i * 1000
  
End

...no obtendremos mensaje.
 



 
vuott - Ver perfil del usuarioEnviar mensaje privado 
Volver arribaPágina inferior
Responder citando   Descargar mensaje  
Mensaje Re: Uninitialized Variable 
 
vuott escribió: [Ver mensaje]
..Por lo que he visto........., este problema ocurre cuando una variable es utilizada, pero no es inicializada: es decir que nunca recibe algún valor.
Pero no da problemas.

Efectivamente, es eso que indicas.
En el código había dos variables que estaban en "uso" porque estaban dentro del modulo pero no tomaban valor, lo cambie y ya no aparece mas el mensaje.

Saludos.
 



 
tincho - Ver perfil del usuarioEnviar mensaje privado 
Volver arribaPágina inferior
Responder citando   Descargar mensaje  
Mensaje Re: Uninitialized Variable 
 
Tincho, este mensaje de gambas me recuerda un poquito el lenguaje C (...Python, vade retro !): cuando se debe pasar una variable, se necesita inicializarla (con 0 si no hay valores particulares); de lo contrario en el C una variable, no inicializada, puede asumir de modo incontrolado un cualquier valor.
 



 
vuott - Ver perfil del usuarioEnviar mensaje privado 
Volver arribaPágina inferior
Responder citando   Descargar mensaje  
Mensaje Re: Uninitialized Variable 
 
vuott escribió: [Ver mensaje]
...de lo contrario en el C una variable, no inicializada, puede asumir de modo incontrolado un cualquier valor.

Mira, no sabia que era así, supongo que tener mas control sobre la memoria implica una mayor "responsabilidad"  

Saludos.
 



 
tincho - Ver perfil del usuarioEnviar mensaje privado 
Volver arribaPágina inferior
Mostrar mensajes anteriores:    
 
OcultarTemas parecidos
Tema Autor Foro Respuestas último mensaje
No hay nuevos mensajes Variable Por Referencia campanillas General 8 Lunes, 02 Noviembre 2009, 14:46 Ver último mensaje
campanillas
No hay nuevos mensajes Variable Global Contra Variable Por Refere... Shell General 2 Martes, 28 Octobre 2014, 10:36 Ver último mensaje
jsbsan
No hay nuevos mensajes Averiguar Tipo De Variable Ricardo Prieto General 12 Viernes, 25 Marzo 2016, 18:41 Ver último mensaje
fedefunes
No hay nuevos mensajes Shadowing A Global Variable Shell General 2 Domingo, 28 Octobre 2018, 09:05 Ver último mensaje
Shell
 

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


 
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