Ir para conteúdo
  • Cadastre-se

Pesquisar na Comunidade

Showing results for tags 'tramamento de erros generico'.

  • Search By Tags

    Digite tags separadas por vírgulas
  • Search By Author

Tipo de Conteúdo


Categorias

Não há resultados

Categorias

  • Notes ACBrLibNFe

Fóruns

  • Fórum Aberto - ACBr
    • Notícias do ACBr
    • Equipamentos testados
    • Base de Conhecimento
    • Dúvidas Gerais sobre o ACBr
    • ACBrSerial
    • ACBrSAT
    • ACBrNFe
    • ACBrDFe
    • Dúvidas sobre TEF
    • Dúvidas sobre PIX
    • ACBrMonitor PLUS
    • ACBrTXT
    • ACBrBoleto
    • ACBrDiversos
    • ACBrTCP
    • ACBrFramework
    • ACBrLIB
  • ACBr Pro
    • Dúvidas gerais
    • ACBrMonitorPLUS
    • NFe/NFCe - Nota Fiscal Eletrônica
    • DFe - Documentos Fiscais Eletrônicos
    • SAT / MFE
    • TEF
    • Boleto
    • ACBrSPED
    • ACBrTXT
    • Paf-ECF
    • Requisitos Fiscais por UF
    • ACBrLIB
  • Outros Assuntos
    • Boteco do ACBr
    • Legislação Fiscal e Tributária
    • Object Pascal - Delphi & Lazarus
    • Banco de Dados
    • Classificados
    • Dúvidas não relacionadas ao ACBr

Categorias

  • ACBr Pro
    • ACBrLib - PRO
    • ACBrMonitorPLUS - PRO
    • Utilitários - PRO
    • Dia do ACBr 1a edição
    • Dia do ACBr 2a edição
  • Download Livre
    • ACBrLib - DEMO
    • ACBrMonitorPLUS - DEMO
    • Demos / Testes / Utilitários
    • Apresentações - Palestras

Calendários

  • Eventos - Palestras - Webinars
  • Prazos SEFAZ
  • Calendário da Comunidade
  • ACBr Papo Pro
  • Feriados Nacionais

Find results in...

Find results that contain...


Data de Criação

  • Início

    End


Data de Atualização

  • Início

    End


Filter by number of...

Data de Registro

  • Início

    End


Grupo


Website URL

Encontrado 1 registro

  1. Olá queridos companheiros, pesquisei muito sobre uma forma de tratar erros inesperados que causam o fechamento da aplicação e acabei descobrindo (ou inventando kkk), um modo de tratar todos os erros que não foram tratados, vi uma postagem de mais de um ano aq no forum mas não puder dar sequencia nela por estar fechada. Nesse post vi a sugestão do componente TApplicationProperties, para usar seu evento OnException, mas ao tentar usar ele, disparava 3 vezes, sem contar que ao colocar um componente em um form e herda-lo, ele componente fica aparecendo em todos os forms e eu só meio xarope e isso me incomoda. Seguinte.... Eu uso um FormPadrao no qual estão todas procedures (ferramentas) criadas por mim e algumas outras facilidades como mudar de campo com Enter, fechar as janelas com Esc, etc. E derivo todos os meus outros forms desse para herdarem essas funções e propriedades. Nele eu criei o seguinte procedimento. //================================== Inicio do Procedimento ==================================\\ procedure TFormPadrao.OnException(Sender: TObject; E: Exception); var auxLog: TextFile; begin try AssignFile(auxLog, 'Log_Exceptions.txt'); if (FileExists('Log_Exceptions.txt')) then begin Append(auxLog); end else begin Rewrite(auxLog); WriteLn(auxLog, 'Log de Erros!'); WriteLn(auxLog, ''); end; WriteLn(auxLog, FormatDateTime('dd/MM/yyyy - hh:mm:ss',now) + ' => Origem: ' + Sender.ToString + ' => Erro: ' + E.Message); finally CloseFile(auxLog); end; Riba.Aviso('Origem: ' + Sender.ToString + ' => Erro: ' + E.Message); if(Sender is TForm)then (Sender as TForm).Close; end; //================================== Fim do Procedimento ==================================\\ E no evento onCreate eu digitei essa linha que associa um procedimento ao um evento Application.OnException := @OnException; Agora todo erro não tratado é mostrado na tela, fecha só o form que deu o erro e faz um log dos erros. obs. Esse Riba.Aviso é pra mostrar mensagens na tela do meu jeito. Se eu fiz algo errado no post me corrijam por favor pois é meu primeiro post compartilhando informação. DEUS abençoe a todos.
×
×
  • Criar Novo...

Informação Importante

Colocamos cookies em seu dispositivo para ajudar a tornar este site melhor. Você pode ajustar suas configurações de cookies, caso contrário, assumiremos que você está bem para continuar.

The popup will be closed in 10 segundos...