Bedingte Kompilierung in Visual Basic

Bei der bedingten Kompilierungwerden bestimmte Codeblöcke in einem Programm selektiv kompiliert, während andere ignoriert werden.

Beispielsweise möchten Sie möglicherweise Debugging-Anweisungen schreiben, die die Geschwindigkeit verschiedener Ansätze für dieselbe Programmieraufgabe vergleichen, oder Sie möchten möglicherweise eine Anwendung für mehrere Sprachen lokalisieren. Bedingte Kompilierungsanweisungen sind für die Ausführung während der Kompilierzeit vorgesehen, nicht zur Laufzeit.

Sie bezeichnen Codeblöcke, die mit der #If...Then...#Else Direktive bedingt kompiliert werden sollen. Um beispielsweise französisch- und deutschsprachige Versionen derselben Anwendung aus demselben Quellcode zu erstellen, betten Sie plattformspezifische Codesegmente in #If...Then Anweisungen mithilfe der vordefinierten Konstanten FrenchVersion und GermanVersion. Im folgenden Beispiel wird veranschaulicht, wie:

#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

Wenn Sie den Wert der FrenchVersion bedingten Kompilierungskonstante True zur Kompilierungszeit festlegen, wird der bedingte Code für die französische Version kompiliert. Wenn Sie den Wert der GermanVersion Konstante auf True festlegen, verwendet der Compiler die deutsche Version. Wenn keines auf True festgelegt ist, wird der Code im letzten Else Block ausgeführt.

Hinweis

AutoVervollständigen funktioniert nicht beim Bearbeiten von Code und verwenden bedingte Kompilierungsdirektiven, wenn der Code nicht Teil der aktuellen Verzweigung ist.

Deklarieren bedingter Kompilierungskonstanten

Sie können bedingte Kompilierungskonstanten auf eine von drei Arten festlegen:

  • Im Project Designer

  • Bei Verwendung des Befehlszeilencompilers an der Befehlszeile

  • In Ihrem Code

Bedingte Kompilierungskonstanten weisen einen speziellen Bereich auf und können nicht über Standardcode zugegriffen werden. Der Umfang einer bedingten Kompilierungskonstante hängt von der Art und Weise ab, wie sie festgelegt wird. In der folgenden Tabelle sind die Werte aufgeführt, die mithilfe der drei oben genannten Methoden deklariert werden.

Festlegen von Konstanten Bereich der Konstanten
Projekt-Designer Öffentlich für alle Dateien im Projekt
Befehlszeile Öffentlich für alle Dateien, die an den Befehlszeilencompiler übergeben werden
#Const Anweisung im Code Privat für die Datei, in der sie deklariert wird
So legen Sie Konstanten im Project Designer fest
– Legen Sie vor dem Erstellen der ausführbaren Datei Konstanten im Project Designer fest, indem Sie die in der Verwaltung von Projekt- und Lösungseigenschaftenbeschriebenen Schritte ausführen.
So legen Sie Konstanten an der Befehlszeile fest
- Verwenden Sie den Schalter -d , um bedingte Kompilierungskonstanten einzugeben, wie im folgenden Beispiel gezeigt:
vbc MyProj.vb /d:conFrenchVersion=–1:conANSI=0
Es ist kein Leerraum zwischen dem Schalter -d und der ersten Konstante erforderlich. Weitere Informationen finden Sie unter -fedinieren (Visual Basic).
Befehlszeilendeklarationen überschreiben Deklarationen, die im Project Designereingegeben wurden, aber nicht löschen. In Project Designer festgelegte Argumente bleiben für nachfolgende Kompilierungen wirksam.
Beim Schreiben von Konstanten im Code selbst gibt es keine strengen Regeln für die Platzierung, da ihr Bereich das gesamte Modul ist, in dem sie deklariert werden.
So legen Sie Konstanten im Code fest
- Platzieren Sie die Konstanten im Deklarationsblock des Moduls, in dem sie verwendet werden. Dies trägt dazu bei, dass Ihr Code organisiert und einfacher zu lesen ist.
Titel Beschreibung
Programmstruktur und Codekonventionen Bietet Vorschläge, wie Sie Ihren Code einfach lesen und verwalten können.

Verweis

#Const-Anweisung

#If...Then...#Else-Anweisungen

-define (Visual Basic)