Partager via


Compilation conditionnelle en Visual Basic

Dans la compilation conditionnelle, des blocs de code particuliers dans un programme sont compilés de manière sélective, tandis que d’autres sont ignorés.

Par exemple, vous pouvez écrire des instructions de débogage qui comparent la vitesse de différentes approches à la même tâche de programmation, ou vous pouvez localiser une application pour plusieurs langages. Les instructions de compilation conditionnelle sont conçues pour s’exécuter pendant la compilation, et non au moment de l’exécution.

Vous indiquez des blocs de code à compiler de manière conditionnelle avec la #If...Then...#Else directive. Par exemple, pour créer des versions en français et en allemand de la même application à partir du même code source, vous incorporez des segments de code spécifiques à la plateforme dans #If...Then des instructions utilisant les constantes prédéfinies FrenchVersion et GermanVersion. L’exemple suivant montre comment :

#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 vous définissez la valeur de la constante de compilation conditionnelle FrenchVersion à True au moment de la compilation, le code conditionnel de la version française est compilé. Si vous définissez la constante GermanVersion à la valeur True, le compilateur utilise la version allemande. Si aucune des deux valeurs n’est définie True, le code dans le dernier Else bloc s’exécute.

Remarque

La saisie automatique ne fonctionnera pas lors de la modification du code et de l’utilisation de directives de compilation conditionnelle si le code ne fait pas partie de la branche actuelle.

Déclaration des constantes de compilation conditionnelle

Vous pouvez définir des constantes de compilation conditionnelle de l’une des trois manières suivantes :

  • Dans le Concepteur de projet

  • Sur la ligne de commande lors de l’utilisation du compilateur de ligne de commande

  • Dans votre code

Les constantes de compilation conditionnelle ont une étendue spéciale et ne sont pas accessibles à partir du code standard. L’étendue d’une constante de compilation conditionnelle dépend de la façon dont elle est définie. Le tableau suivant répertorie l’étendue des constantes déclarées à l’aide de chacune des trois façons mentionnées ci-dessus.

Comment établir une constante Étendue d’une constante
Concepteur de projets Public à tous les fichiers du projet
Ligne de commande Public à tous les fichiers passés au compilateur de ligne de commande
#Const instruction dans le code Privé dans le fichier dans lequel il est déclaré
Pour définir des constantes dans le Concepteur de projets
- Avant de créer votre fichier exécutable, définissez des constantes dans le Concepteur de projets en suivant les étapes fournies dans La gestion des propriétés du projet et de la solution.
Pour définir des constantes sur la ligne de commande
- Utilisez le commutateur -d pour entrer des constantes de compilation conditionnelle, comme dans l’exemple suivant :
vbc MyProj.vb /d:conFrenchVersion=–1:conANSI=0
Aucun espace n’est nécessaire entre le commutateur -d et la première constante. Pour plus d’informations, consultez -define (Visual Basic).
Les déclarations de ligne de commande remplacent les déclarations entrées dans le Concepteur de projets, mais ne les effacent pas. Les arguments définis dans Project Designer restent en vigueur pour les compilations suivantes.
Lors de l’écriture de constantes dans le code lui-même, il n’existe aucune règle stricte quant à leur placement, car leur étendue est l’ensemble du module dans lequel ils sont déclarés.
Pour définir des constantes dans votre code
- Placez les constantes dans le bloc de déclaration du module dans lequel elles sont utilisées. Cela permet de maintenir votre code organisé et plus facile à lire.
Titre Descriptif
Structure du programme et conventions de code Fournit des suggestions pour faciliter la lecture et la maintenance de votre code.

Référence

Directive #Const

Directives #If...Then...#Else Directives

-define (Visual Basic)