Partilhar via


Compilação condicional no Visual Basic

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

Por exemplo, talvez você queira escrever instruções de depuração que comparem a velocidade de diferentes abordagens para a mesma tarefa de programação ou localizar um aplicativo para vários idiomas. As instruções de compilação condicional são projetadas para serem executadas durante o tempo de compilação, não em tempo de execução.

Você indica blocos de código a serem compilados condicionalmente com a #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ê incorpora segmentos de código específicos da plataforma em #If...Then instruções usando as constantes FrenchVersion predefinidas e GermanVersion. 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 da constante de FrenchVersion compilação condicional como True em tempo de compilação, o código condicional para a versão francesa será compilado. Se você definir o GermanVersion valor da constante como True, o compilador usará a versão em alemão. Se nenhum dos dois estiver definido como True, o código no último Else bloco será executado.

Nota

O preenchimento automático não funcionará ao editar código e usar diretivas de compilação condicional se o código não fizer parte da ramificação atual.

Declarando constantes de compilação condicional

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

  • No Project Designer

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

  • No seu código

As constantes de compilação condicional têm um escopo especial e não podem ser acessadas a partir do código padrão. O escopo de uma constante de compilação condicional depende da maneira como ela é definida. A tabela a seguir lista o escopo das constantes declaradas usando cada uma das três maneiras mencionadas acima.

Como a constante é definida Âmbito da constante
Projetista Público para todos os arquivos do projeto
Linha de comandos Público para todos os arquivos passados para o compilador de linha de comando
#Const Declaração em código Privado para o arquivo em que é declarado
Para definir constantes no Project Designer
- Antes de criar seu arquivo executável, defina constantes no Project Designer seguindo as etapas fornecidas em Gerenciando propriedades do projeto e da solução.
Para definir constantes na linha de comando
- Use a opção -d para inserir constantes de compilação condicional, como no exemplo a seguir:
vbc MyProj.vb /d:conFrenchVersion=–1:conANSI=0
Não é necessário espaço entre o interruptor -d e a primeira constante. Para obter mais informações, consulte -define (Visual Basic).
As declarações de linha de comando substituem as declarações inseridas no Designer de Projeto, mas não as apagam. Os argumentos definidos no Project Designer permanecem em vigor para compilações subsequentes.
Ao escrever constantes no próprio código, não há regras rígidas quanto ao seu posicionamento, uma vez que seu escopo é todo o módulo no qual elas são declaradas.
Para definir constantes em seu código
- Coloque as constantes no bloco de declaração do módulo em que são utilizadas. Isso ajuda a manter seu código organizado e mais fácil de ler.
Title Description
Estrutura do Programa e Convenções de Código Fornece sugestões para tornar seu código fácil de ler e manter.

Referência

Diretiva #Const

#If... Depois...#Else Diretivas

-define (Visual Basic)