Compartir a través de


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 distintos 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 los bloques de código que se van a compilar condicionalmente con la #If...Then...#Else directiva . Por ejemplo, para crear versiones en francés y alemán de la misma aplicación a partir del mismo código fuente, inserte segmentos de código específicos de la plataforma dentro de instrucciones #If...Then usando las constantes predefinidas FrenchVersion y GermanVersion. En el ejemplo siguiente 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 constante de compilación condicional FrenchVersion en True en el tiempo de compilación, se compila el código condicional de la versión francesa. Si establece el valor de la constante GermanVersion a True, el compilador usa la versión alemana. Si ninguno está configurado en True, se ejecuta el código en el último bloque Else.

Nota:

Al editar código y usar directivas de compilación condicional, la autocompleción no funcionará si el código no forma parte de la rama actual.

Declarar constantes de compilación condicional

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

  • En el Diseñador de proyectos

  • En la línea de comandos cuando se usa el compilador de línea de comandos

  • En tu 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 pasados al compilador de línea de comandos
#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 condicionales, 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.
Título Descripción
Convenciones de código y estructura de programa Proporciona sugerencias para facilitar la lectura y el mantenimiento del código.

Referencia

#Const (directiva)

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

-define (Visual Basic)