Array
(
)

Fazer com que o delphi retorne o número do erro.

Balceiro
   - 02 set 2004

Olá,

Tenho duas tabelas (access) uma chada Marca e outra chamada Produto fiz o relacionamento de 1 para N no access.

Se vc tenta excluir uma marca que está cadstrada em alguim produto dá um erro. Eu gostaria de interceptar esse erro antes dele ser mostrado para o usuário e mandar a minha mensagem de erro.

Existe a possíbilidade de fazer isso? eu pensei em pegar o número do erro, mas não sei como fazer isso.



desde já muito obrigado.


Balceiro
   - 03 set 2004

ainda sem solução


Balceiro
   - 07 set 2004

sobe em 07 de setembro às 10:27 am


Balceiro
   - 08 set 2004

sobe em 08/09/2004


Balceiro
   - 12 set 2004

sobe em 12/09/2004 - 12:41 pm


Gandalf.nho
   - 12 set 2004

Dê uma pesquisada no help do Delphi sobre Exception e você verá como fazer isso.


Edmarss
   - 12 set 2004

Application.OnException:=TrataErros;

Procedure Trataerros(Sender: TObject; E: Exception);
Var
mensagem: String;
Begin
If Pos(UpperCase(´is Not a valid date´), UpperCase(E.Message)) <> 0 Then
Mensagem:=´Data inválida, proceda a correção.´;
If (Pos(UpperCase(´key violation´), UpperCase(E.Message)) <> 0) Or (Pos(UpperCase(´Violation of primary´), UpperCase(E.Message)) <> 0) Then
Mensagem:=´Houve violação de Chave. Registro já existe.´;
If Pos(UpperCase(´Input value´), UpperCase(E.Message)) <> 0 Then
Mensagem:=´Campo preenchido com valor não válido. Proceda a correção.´;
If Mensagem=´´ Then Begin
MessageDlg(E.Message, mtwarning, [mbOk], 0);
End Else Begin
MessageDlg(Mensagem, mtwarning, [mbOk], 0);
End;
End;