Olá galera, nesta Quick Tips irei mostrar um componente no Delphi chamado ApplicationEvents(Palheta Additional), o mesmo intercepta as mensagens, eventos, exceções que acontecem na aplicação.

Vamos ao exemplo :

Adicione 2 LabeledEdit(EdtNome, EdtCPF) e um ApplicationEvents

image
Figura 1 - LabeledEdit(EdtNome, EdtCPF)

Hint = ‘Digite seu nome’
ShowHint = True

Listagem 1. EdtNome

Hint = ‘Digite seu CPF’
ShowHint = True

Listagem 2. EdtCPF

ApplicationEvents

onException: Neste evento conseguimos interceptar quando uma exceção ocorre no nosso código.


procedure TFrmPrincipal.ApplicationEvents1Exception(Sender: TObject; E: Exception);
begin
  if pos('foreign key', E.Message) <> 0 then
      ShowMessage('Erro de Chave Estrangeira')
  else
  if pos('Access violation', E.Message) <> 0 then
      ShowMessage('Erro ao acessar um Objeto')
  else
    ShowMessage('Erro não tratado ' +#13+
                 E.Message );
end;

	
Listagem 3. onException

onMinimize : Neste evento conseguimos interceptar o momento em que nossa aplicação esta sendo minimizada.




procedure TFrmPrincipal.ApplicationEvents1Minimize(Sender: TObject);
begin
  ShowMessage('Aplicação foi minimizada');
end;

Listagem 4. onMinimize

onRestore : Neste evento conseguimos interceptar quando nossa aplicação é restaurada depois de ser minimizada.


procedure TFrmPrincipal.ApplicationEvents1Restore(Sender: TObject);
begin
  ShowMessage('Aplicação foi restaurada');
end;

Listagem 5. onRestore

onShowHint : Neste evento conseguimos capturar os hints que acontecem na nossa aplicação e assim exibirmos no Caption ou em qualquer outro local.


procedure TFrmPrincipal.ApplicationEvents1ShowHint(var HintStr: string;
  var CanShow: Boolean; var HintInfo: THintInfo);
begin
  Caption := Application.Hint;
end; 

Listagem 6. onShowHint

Rode a aplicação, Minize, depois restaure, coloque o mouse sobre os edits, gere algum access violation para vermos o que acontece.

Fico por aqui e na próxima Quick Tips.