Alguns pontos da linguagem de programação Delphi são sempre menosprezados, um deles é o uso de diretivas de compilação, muito poucos usuários conhecem a fundo as diretivas de compilação é as utilizam no dia-a-dia.
Agora com o advento da introdução a programação multiplataforma no Rad Studio e Delphi, as diretivas tem voltado a ser foco, visto que em alguns casos, mesmo que a linguagem abstraia ao programador as facetas da programação multiplataforma, alguns artifícios ainda se fazem necessário para desenvolvimento em mais de um ambiente ou sistema operacional, veja um exemplo o desenvolvimento de software para iOS e Android utilizando SMS, não existe uma abstração para o envio do SMS que seja comum as duas plataformas, então se faz necessário a utilização de diretivas de compilação para adaptar o código compilado a uma outra plataforma.
Voltando ao foco do artigo, a diretiva MESSAGE e uma dessas diretivas que são menosprezadas pela maioria dos usuários, ela é particularmente útil em projetos ainda em desenvolvimento, onde parte do código ainda não foi implementado, podendo ser utilizada para sinalizar partes do código que ainda necessitam de uma atenção um pouco maior, veja um exemplo simples:
TMinhaClasse = class private public {$MESSAGE 'Mensagem comum!'} {$Message Hint 'Mensage ilustrativa.'} {$messaGe Warn 'Mensagem de aviso.'} {$Message Error 'Mensagem de erro'} {$Message Fatal 'Mensagem Fatal.'} end;
Ao efetuar a compilação deste código será retornado pelo compitaldor um código H1050 e uma mensagem para o tipo definido, veja a saída do compilador como ficaria:
[DCC Hint] Unit1.pas(14): H1054 Mensagem comum!
[DCC Hint] Unit1.pas(15): H1054 Mensage ilustrativa.
[DCC Warning] Unit1.pas(16): W1054 Mensagem de aviso.
[DCC Error] Unit1.pas(17): E1054 Mensagem de erro
[DCC Fatal Error] Unit1.pas(18): F1054 Mensagem Fatal.
Veja que podemos utilizar vários tipos de mensagens e o compilador responde diferente a cada uma deles, vamos analisar cada uma:
- sem definição de tipo
- será automaticamente interpretado com um tipo hint.
- hint
- utilizada quando se seja mostrar somente uma mensagem, não tem efeito bloqueante e pode ser suprimida desabilitando o tipo hint no project options -> wints and warnings.
- warn
- utilizada quando se seja mostrar uma mensagem de aviso, não tem efeito bloqueante e pode ser suprimida desabilitando o tipo warning no project options -> wints and warnings.
- error
- utilizada quando se deseja mostrar uma mensagem de erro, está diretiva não é bloqueante.
- fatal
- utilizada quando se deseja mostrar uma mensagem de erro fatal, está diretiva é bloqueante e impede o compilador de continuar.
Estas são algumas das possibilidades para a diretiva MESSAGE, se bem utilizada pode ser um grande auxílio do desenvolvimento de novos projetos.
Para aprender mais
Delphi Compiler Directives (List)
Delphi XE2’s hidden hints and warnings options
Dê-nos sua opinião, seu comentário ajuda o site a crescer e melhorar a qualidade dos artigos.