BDE - mensagens de erro

Top  Previous  Next

Try

    uDmClientes.dmClientes.tblClientes.delete ;

Except

     on E: EDatabaseError do

     begin

     with EDBEngineError(E), Errors[0] do

 

     if ErrorCode = 9734 then  // Has Details

       ShowMessage('Este registro não pode ser removido, outros 

                   arquivos precisam dele.')

 

     else if ErrorCode = 9729 then // Key Violation

      ShowMessage(Format('Ocorreu um erro no banco de dados: 

                          código %d.', [ErrorCode]))

 

     else if ErrorCode = 11270 then  // another .NET file

       ShowMessage('Diretório controlado por outro arquivo .NET, 

                    verifique a configuração do Banco de Dados.')

 

     else if ErrorCode = 9733 then  // Master record missing

       ShowMessage('Registro Master não encontrado.')

 

     else if ErrorCode = 9734 then  // Master has details

       ShowMessage('Este registro não pode ser removido, ele está 

                    sendo usado pelo Fireman.')

 

     else if ErrorCode = 8708 then  // Record/Key deleted

       ShowMessage('Este registro foi removido por outro Operador.')

 

     else if ErrorCode = 10241 then  // alredy in use

       with Errors[2] do

         ShowMessage(Format('Este registro está sendo usado pelo Operador:

                     ''%s''.', [Copy(Message, 7, 20)]))  

         // Copy usado para pegar o nome do usuário

    end;

 

********

Vc poderá ir anotando o código de outros erros que porventura vierem a te

'pentelhar', e ir completando no esquema acima, o bom é usar o código acima

com o Application.OnError, assim, TODO o seu programa, e todos os forms,

estarão cobertos pelo tratamento de erro personalizado.