lunes, octubre 24, 2005

Variables globales y variables locales

Todo programador de Navision sabe la diferencia entre las variables globales y las variables locales, pero aún y así vamos a repasar sus diferencias:
  • Variables globales:
    Son accesibles desde todo el objeto. Eventos, funciones, etc.
  • Variables locales:
    Son accesibles sólo desde el procedimiento en las que han sido declaradas.

    Pero hay que tener especial cuidado con las variables globales cuando un objeto es llamado repetidamente (parte de su código se ejecuta 2 ó más veces), ya que las variables globales, a diferencia de las locales, guardan su valor entre las llamadas. Por el contrario, las variables locales son inicializadas cada vez.

    Ejemplo mediante un CommandButton en un Form:
    myBoton - OnPush()
    varGlobal := varGlobal + 1;
    varLocal := varLocal + 1;
    MESSAGE('Global = %1\Local = %2', varGlobal, varLocal);


    La variable global irá aumentando su valor tantas veces como se pulse el botón, no así la local que siempre será 1.

    Esta casuística cobra especial importancia cuando se llaman objetos desde otros objetos, ya que esta regla se cumple en todos los casos, o sea, las variables globales del objeto llamado permanecen mientras permanezca el objeto.

  • No hay comentarios:

    Publicar un comentario