Compartir a través de


Información general sobre la compilación condicional

Actualización: noviembre 2007

Use la compilación condicional para seleccionar secciones concretas del código que desee compilar y, a la vez, excluir otras. Por ejemplo, podría interesarle escribir instrucciones de depuración que comparen la velocidad de varios enfoques de la misma tarea de programación o quizá desee adaptar una aplicación en varios idiomas. Las instrucciones de compilación condicional se han concebido para su ejecución en tiempo de compilación, no durante la ejecución.

Una constante de compilación condicional se declara mediante la directiva #Const y los bloques de código que se compilarán de forma condicional se denotan con la directiva #If...Then...#Else. Por ejemplo, para crear versiones en francés y alemán de la misma aplicación a partir del mismo código fuente, incruste segmentos de código específicos de la plataforma correspondiente en instrucciones #If...Then, por medio de las constantes predefinidas FrenchVersion y GermanVersion. En el ejemplo siguiente se explica cómo hacerlo:

#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 define el valor de la constante FrenchVersion como True en tiempo de compilación, se compila el código condicional de la versión en francés. Si define el valor de la constante GermanVersion como True, el compilador usa la versión en alemán. Si ninguna de las dos está establecida en True, se ejecuta el código del último bloque Else.

Nota:

Autocompletar no funcionará al editar código y utiliza directivas de compilación condicional si el código no forma parte de la bifurcación actual.

Vea también

Tareas

Cómo: Declarar constantes de compilación condicional

Cómo: Contraer y ocultar secciones de código

Referencia

#Const (Directiva)

#If...Then...#Else (Directivas)

Otros recursos

Generar desde la línea de comandos (Visual Basic)