segunda-feira, 14 de setembro de 2009

Personalizando a caixa de mensagem de exceções (erro) do delphi

{- Declare um método (procedure) na seção private do form principal conforme abaixo: }
private
procedure ManipulaExcecoes(Sender: TObject; E: Exception); {- Vá até a seção implementation e implemente este método, conforme o exemplo:}


procedure TForm1.ManipulaExcecoes(Sender: TObject; E: Exception);
begin
MessageDlg(E.Message + #13#13 +
'Suporte técnico:'#13 +
'blabla blabla',
mtError, [mbOK], 0);
end;
{- No evento OnCreate do Form principal escreva o código abaixo:}


procedure TForm1.FormCreate(Sender: TObject);
begin
Application.OnException := ManipulaExcecoes;
end; {Use assim:

- Coloque um Button no form;

- No evento OnClick deste botão coloque o código abaixo:}


procedure TForm1.Button1Click(Sender: TObject);
begin
StrToInt('ABCD'); { Isto provoca uma exception }
end; {Cuidado! Não coloque código que possa gerar exceção na rotina que manipula as exceções, pois se ocorrer uma exceção neste rotina, esta será chamada recursivamente até estourar a pilha. }

Nenhum comentário:

Postar um comentário