Compilación condicional en Visual Basic

En la compilación condicional, los bloques concretos de código de un programa se compilan de forma selectiva, mientras que otros se omiten.

Por ejemplo, puede que desee escribir instrucciones de depuración que comparen la velocidad de los diferentes enfoques con la misma tarea de programación, o puede que desee localizar una aplicación para varios lenguajes. Las instrucciones de compilación condicional están diseñadas para ejecutarse durante el tiempo de compilación, no en tiempo de ejecución.

Se indican bloques de código que se van a compilar condicionalmente con la directiva #If...Then...#Else. Por ejemplo, para crear versiones en francés y alemán de la misma aplicación desde el mismo código fuente, inserte segmentos de código específicos de la plataforma en #If...Then instrucciones con las constantes FrenchVersion predefinidas y GermanVersion. En el siguiente ejemplo se muestra cómo:

#If FrenchVersion Then
   ' <code specific to the French language version>.
#ElseIf GermanVersion Then
   ' <code specific to the German language version>.
#Else
        ' <code specific to other versions>.
#End If

Si establece el valor de la FrenchVersion constante True de compilación condicional en tiempo de compilación, se compila el código condicional para la versión en francés. Si establece el valor de la GermanVersion constante en True, el compilador usa la versión alemana. Si ninguno de ellos está establecido en True, el código del último Else bloque se ejecuta.

Nota

La función Autocompletar no funcionará al editar código y usar directivas de compilación condicional si el código no forma parte de la rama actual.

Declarar constantes de compilación condicional

Puedes establecer constantes de compilación condicional de una de estas tres maneras:

  • En el Diseñador de proyectos

  • En la línea de comandos al usar el compilador de línea de comandos

  • En el código

Las constantes de compilación condicional tienen un ámbito especial y no se puede tener acceso a ellas desde el código estándar. El ámbito de una constante de compilación condicional depende de la forma en que se establece. En la tabla siguiente se muestra el ámbito de las constantes declaradas mediante cada una de las tres formas mencionadas anteriormente.

Cómo se establece la constante Ámbito de constante
Diseñador de proyectos Público para todos los archivos del proyecto
Línea de comandos Público para todos los archivos al compilador command-line
#Const instrucción en el código Privado en el archivo en el que se declara
Para establecer constantes en el Diseñador de proyectos
- Antes de crear el archivo ejecutable, establezca constantes en el Diseñador de proyectos siguiendo los pasos proporcionados en Administrar propiedades de proyecto y solución.
Para establecer constantes en la línea de comandos
- Use el modificador -d para especificar constantes de compilación condicional, como en el ejemplo siguiente:
vbc MyProj.vb /d:conFrenchVersion=–1:conANSI=0
No se requiere espacio entre el modificador -d y la primera constante. Para obtener más información, vea -define (Visual Basic).
Las declaraciones de línea de comandos invalidan las declaraciones escritas en el Diseñador de proyectos, pero no las borran. Los argumentos establecidos en el Diseñador de proyectos permanecen en vigor para las compilaciones posteriores.
Al escribir constantes en el propio código, no hay reglas estrictas en cuanto a su ubicación, ya que su ámbito es todo el módulo en el que se declaran.
Para establecer constantes en el código
- coloque las constantes en el bloque de declaración del módulo en el que se usan. Esto ayuda a mantener el código organizado y más fácil de leer.
Title Descripción
Convenciones de código y estructura de programas Proporciona sugerencias para facilitar la lectura y el mantenimiento del código.

Referencia

#Const (directiva)

#If...Then...#Else (directivas)

-define (Visual Basic)