Dela via


Villkorsstyrd kompilering i Visual Basic

I villkorlig kompilering kompileras vissa kodblock i ett program selektivt medan andra ignoreras.

Du kanske till exempel vill skriva felsökningsinstruktioner som jämför hastigheten för olika metoder med samma programmeringsuppgift, eller så kanske du vill lokalisera ett program för flera språk. Villkorsstyrda kompileringsuttryck är utformade för att köras under kompileringstiden, inte vid körning.

Du anger kodblock som ska kompileras villkorligt med #If...Then...#Else direktivet. Om du till exempel vill skapa franska och tyska versioner av samma program från samma källkod bäddar du in plattformsspecifika kodsegment i #If...Then instruktioner med hjälp av fördefinierade konstanter FrenchVersion och GermanVersion. Följande exempel visar hur:

#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

Om du anger värdet för konstanten för villkorlig FrenchVersion kompilering till True vid kompileringstillfället kompileras den villkorsstyrda koden för den franska versionen. Om du anger värdet för konstanten GermanVersion till Trueanvänder kompilatorn den tyska versionen. Om inget av dem är inställt på Truekörs koden i det sista Else blocket.

Kommentar

Automatisk komplettering fungerar inte när du redigerar kod och använder villkorliga kompileringsdirektiv om koden inte ingår i den aktuella grenen.

Deklarera konstanter för villkorlig kompilering

Du kan ange konstanter för villkorlig kompilering på något av tre sätt:

  • I projektdesignern

  • På kommandoraden när du använder kommandoradskompilatorn

  • I koden

Konstanter för villkorlig kompilering har ett särskilt omfång och kan inte nås från standardkoden. Omfånget för en konstant för villkorsstyrd kompilering beror på hur den har angetts. I följande tabell visas omfånget för konstanter som deklarerats med var och en av de tre sätten som nämns ovan.

Så här konfigureras konstanten Omfång för konstant
Projektdesigner Offentligt för alla filer i projektet
Kommandorad Offentlig för alla filer som skickas till kommandoradskompilatorn
#Const -instruktion i kod Privat för filen där den deklareras
Ange konstanter i Projektdesignern
– Innan du skapar den körbara filen anger du konstanter i Projektdesignern genom att följa stegen i Hantera projekt- och lösningsegenskaper.
Ange konstanter på kommandoraden
- Använd växeln -d för att ange konstanter för villkorlig kompilering, som i följande exempel:
vbc MyProj.vb /d:conFrenchVersion=–1:conANSI=0
Inget utrymme krävs mellan växeln -d och den första konstanten. Mer information finns i -define (Visual Basic).
Kommandoradsdeklarationer åsidosätter deklarationer som anges i Projektdesignern, men raderar dem inte. Argument som anges i Project Designer gäller fortfarande för efterföljande kompileringar.
När du skriver konstanter i själva koden finns det inga strikta regler för deras placering, eftersom deras omfång är hela modulen där de deklareras.
Ange konstanter i koden
- Placera konstanterna i deklarationsblocket i modulen där de används. Detta hjälper till att hålla koden organiserad och enklare att läsa.
Title Description
Programstruktur och kodkonventioner Innehåller förslag för att göra koden enkel att läsa och underhålla.

Referens

#Const direktiv

#If... Sedan...#Else direktiv

-define (Visual Basic)