Delen via


Voorwaardelijke compilatie in Visual Basic

In voorwaardelijke compilatie worden bepaalde codeblokken in een programma selectief gecompileerd terwijl anderen worden genegeerd.

U kunt bijvoorbeeld foutopsporingsinstructies schrijven waarmee de snelheid van verschillende benaderingen wordt vergeleken met dezelfde programmeertaak, of u kunt een toepassing voor meerdere talen lokaliseren. Voorwaardelijke compilatie-instructies zijn ontworpen om te worden uitgevoerd tijdens het compileren, niet tijdens runtime.

U geeft aan dat codeblokken voorwaardelijk moeten worden gecompileerd met de #If...Then...#Else instructie. Als u bijvoorbeeld frans- en Duitstalige versies van dezelfde toepassing wilt maken op basis van dezelfde broncode, sluit u platformspecifieke codesegmenten in in #If...Then instructies met behulp van de vooraf gedefinieerde constanten FrenchVersion en GermanVersion. In het volgende voorbeeld ziet u hoe:

#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

Als u de waarde van de FrenchVersion constante True voor voorwaardelijke compilatie instelt op het moment van compileren, wordt de voorwaardelijke code voor de Franse versie gecompileerd. Als u de waarde van de GermanVersion constante Trueinstelt op, gebruikt de compiler de Duitse versie. Als geen van beide is ingesteld True, wordt de code in het laatste Else blok uitgevoerd.

Notitie

Automatisch aanvullen werkt niet bij het bewerken van code en het gebruik van instructies voor voorwaardelijke compilatie als de code geen deel uitmaakt van de huidige vertakking.

Voorwaardelijke compilatieconstanten declareren

U kunt voorwaardelijke compilatieconstanten op drie manieren instellen:

  • In projectontwerper

  • Op de opdrachtregel wanneer u de opdrachtregelcompilator gebruikt

  • In uw code

Voorwaardelijke compilatieconstanten hebben een speciaal bereik en kunnen niet worden geopend vanuit standaardcode. Het bereik van een voorwaardelijke compilatieconstante is afhankelijk van de manier waarop deze wordt ingesteld. De volgende tabel bevat het bereik van constanten die zijn gedeclareerd met behulp van elk van de drie hierboven genoemde manieren.

Hoe constant wordt ingesteld Bereik van constante
Projectontwerper Openbaar voor alle bestanden in het project
Opdrachtregel Openbaar voor alle bestanden die zijn doorgegeven aan de opdrachtregelcompilator
#Const instructie in code Privé voor het bestand waarin het is gedeclareerd
Constanten instellen in projectontwerper
- Voordat u het uitvoerbare bestand maakt, stelt u constanten in projectontwerper in door de stappen te volgen die worden beschreven in Project- en oplossingseigenschappen beheren.
Constanten instellen op de opdrachtregel
- Gebruik de schakeloptie -d om voorwaardelijke compilatieconstanten in te voeren, zoals in het volgende voorbeeld:
vbc MyProj.vb /d:conFrenchVersion=–1:conANSI=0
Er is geen ruimte vereist tussen de schakeloptie -d en de eerste constante. Zie -define (Visual Basic) voor meer informatie.
Opdrachtregeldeclaraties overschrijven declaraties die zijn ingevoerd in projectontwerper, maar wissen ze niet. De argumenten die in Projectontwerper zijn ingesteld, blijven van kracht voor volgende compilaties.
Bij het schrijven van constanten in de code zelf zijn er geen strikte regels voor hun plaatsing, omdat hun bereik de volledige module is waarin ze worden gedeclareerd.
Constanten instellen in uw code
- Plaats de constanten in het declaratieblok van de module waarin ze worden gebruikt. Zo kunt u uw code overzichtelijk en beter leesbaar houden.
Title Beschrijving
Programmastructuur en codeconventies Biedt suggesties voor het gemakkelijk te lezen en onderhouden van uw code.

Verwijzing

#Const richtlijn

#If... Vervolgens...#Else richtlijnen

-define (Visual Basic)