Compilação condicional no Visual Basic

Em compilação condicional, determinados blocos de código em um programa são compilados seletivamente, enquanto outros são ignorados.

Por exemplo, você pode querer escrever declarações de depuração que comparam a velociade de diferentes abordagens para a mesma tarefa de programação, ou pode querer alocar um aplicativo para múltiplas linguagens. Declaração de compilação condicional são designadas para executar durante o tempo de compilação, e não em tempo de execução.

Denotar o blocos de código seja compilado condicionalmente com o #If...Then...#Else diretiva. Por exemplo, para criar versões em Francês e Alemão do mesmo aplicativo a partir do mesmo código fonte, você deve incorporar segmentos de código da plataforma específica em declarações #If...Then usando as constantes FrenchVersion e GermanVersion pré-definidas. O exemplo a seguir demonstra como:

#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

Se você definir o valor de FrenchVersion constante de compilação condicional para True em tempo de compilação, o código condicional para a versão em francês é compilado. Se você configurar o valor da constante GermanVersion para True, o compilador usará a versão em Alemão. Se nenhuma for configurada para True, será executado o código no último bloco Else.

Dica

Autocompletar não funcionará quando se estiver editando o código e utilizando diretivas de compilação condicional e o código não for parte da ramificação atual.

Declarar constantes de compilação condicional

Você pode definir constantes de compilação condicional em uma das três maneiras:

  • No Project Designer

  • Na linha de comando ao usar o compilador de linha de comando

  • No seu código.

Constantes de compilação condicional têm um escopo especial e não podem ser acessados a partir de código padrão. O escopo de uma constante de compilação condicional depende da maneira que ele está definido. A tabela a seguir lista o escopo de constantes declaradas usando cada uma das três maneiras mencionadas acima.

Como é definida de constante

Escopo da constante

Designer de projeto

Público para todos os arquivos do projeto.

Linha de comando

Públicos para todos os arquivos são passados para o compilador de linha de comando

#Constinstrução em código

Particular para o arquivo no qual é declarada

Para definir constantes no Project Designer

Para definir constantes na linha de comando

  • Use o /d switch entre constantes de compilação condicional, como no exemplo a seguir:

    vbc MyProj.vb /d:conFrenchVersion=–1:conANSI=0

    Nenhum espaço é necessário entre a /d switch e a primeira constante. Para obter mais informações, consulte /define (Visual Basic).

    Declarações de linha de comando substituem declarações inseridas na Project Designer, mas não as apague. Argumentos definidos no Project Designer permanecerão em vigor para compilações subseqüentes.

    Ao escrever constantes no próprio código, existem regras rígidas quanto à sua colocação, desde que o escopo seja todo o módulo em que elas são declaradas.

Para definir constantes em seu código.

  • Coloque as constantes no bloco de declaração do módulo no qual eles são usados. Isso ajuda a manter seu código organizado e fácil de ler.

Tópicos relacionados

Título

Descrição

Estrutura do programa e convenções de código (Visual Basic)

Oferece sugestões para tornar seu código fácil de ler e manter.

Referência

Diretiva #Const

Diretivas #If...Then...#Else

/define (Visual Basic)