Bitácora del desarrollo de mi clase de Visual Basic, en el que ´publicaré el material de la clase y recibiré comentarios y sugerencias de mis alumnos.

Friday, July 24, 2009

2.4.4. Tipos de declaración de variables


Declaración Implícita
No tiene por qué declarar una variable antes de utilizarla. Por ejemplo, podría escribir una función donde no hiciera falta declarar TempVal antes de utilizarla:

Function Raíz (num)
TempVal = Abs (num)
Raíz = Sqr(TempVal)
End Function

Visual Basic crea automáticamente una variable con ese nombre, que puede utilizar como si la hubiera declarado explícitamente. Aunque es cómodo, puede provocar errores sutiles en el código si se equivoca de nombre de variable. Por ejemplo, suponga que ha escrito esta función:

Function Raíz (num)
TempVal = Abs (num)
Raíz = Sqr (TemVal)
End Function

A primera vista, parece igual. Pero como se ha escrito erróneamente la variable TempVal en la tercera línea, la función devolverá siempre cero. Cuando Visual Basic encuentra un nombre nuevo, no puede averiguar si realmente desea declarar una variable nueva o simplemente ha escrito de forma errónea una variable existente, por lo que crea una variable nueva con ese nombre.

Declaración Explícita
Para evitar problemas al equivocarse de nombre en las variables, puede configurar Visual Basic para que le avise siempre que encuentre un nombre que no se haya declarado explícitamente como una variable.

Para declarar variables de forma explícita:

Incluya esta sentencia en la sección Declaraciones Generales del módulo de clase, de formulario o estándar:

Option Explicit

O bien, en el menú Herramientas, elija Opciones, haga clic en la ficha Editor y active la opción Declaración de variables requerida. Esto inserta automáticamente la sentencia Option Explicit en los módulos nuevos, pero no en los ya creados, por lo que tendrá que agregar manualmente Option Explicit a los módulos existentes en el proyecto.

Si hubiera tenido efecto dicha instrucción en el módulo de formulario o módulo estándar que contiene la función Raíz, Visual Basic habría reconocido TempVal y TemVal como variables no declaradas y habría generado errores para ambas. Debería, por tanto, declara explícitamente TempVal:

Function Raíz (num)
Dim TempVal
TempVal = Abs (num)
Raíz = Sqr (TemVal)
End Fuction

0 Comments:

Post a Comment

<< Home