



Olá pessoal!
Neste artigo vou demostrar como utilizar um recurso bastante interessante
chamado Diretiva de Compilação.
Normalmente temos que fazer testes internos em nossos sistemas para verificar
se o exe será um DEMO ou se faz uso de módulo X, ou se é um teste e etc…
Para resolver este tipo de situação, pode-se fazer uso das diretivas de compilação.
O próprio Delphi já nos oferece várias, mas agora vamos nos deter as direivas
criadas pelo desenvolvedor.
Exemplo 1
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 | {$DEFINE TESTE} unit Unit1; interface uses Winapi.Windows, Winapi.Messages, System.SysUtils, System.Variants, System.Classes, Vcl.Graphics, Vcl.Controls, Vcl.Forms, Vcl.Dialogs, Vcl.StdCtrls; type TForm1 = class(TForm) Button1: TButton; procedure Button1Click(Sender: TObject); private { Private declarations } public { Public declarations } end; var Form1: TForm1; implementation {$R *.dfm} procedure TForm1.Button1Click(Sender: TObject); begin {$IFDEF TESTE} ShowMessage('Utilizando a diretiva TESTE!'); {$ELSE} ShowMessage('Sem uso da diretiva TESTE.'); {$ENDIF} end; end. |
Neste exemplo criamos a diretiva “TESTE” e estamos à usando no clique do botão.
Repare que esta forma de declaração {$DEFINE TESTE}, é válida somente pa a unit em questão.
Exemplo 2
Uso da diretiva em todo projeto.
Através do menu Project > Options, na aba Directories/Conditionals você
encontrará o campo “Conditional defines”, adicione a palavra MEU_TESTE.
Agora será utilizado a diretiva para criar uma condição.
1 2 3 4 5 6 | procedure TForm1.Button1Click(Sender: TObject); begin {$IFDEF MEU_TESTE} ShowMessage('Utilizando a diretiva MEU_TESTE!'); {$ENDIF} end; |
Também pode-se incluir o “else”:
1 2 3 4 5 6 7 8 | procedure TForm1.Button1Click(Sender: TObject); begin {$IFDEF MEU_TESTE} ShowMessage('Utilizando a diretiva MEU_TESTE!'); {$ELSE} ShowMessage('SEM USO!'); {$ENDIF} end; |
Pronto, agora quando formos compilar o delphi só irá reconhecer o código dentro
de “MEU_TESTE”;
Lembrando que a utilização de Diretivas não se aplica apenas a testes,
mas a muitas outras coisas como por exemplo, para gerar versões do seu executável,
fazer tratamentos conforme situações específicas e etc.
Há também um vídeo que demostra o que foi falado aqui.
Forte abraço e até a próxima!