Eu não escondo erro dos clientes, se tiver que dar erro aparece lá aberto no bloco de notas.
Mas gravo o erro em um arquivo, e depois envio pra mim por email.
Isso é melhor, porque assim os erros vão ser resolvidos, ao invés de apenas serem escondidos.
Pode aparecer até erro que você nem sabia que existia - aconteceu isso comigo na época do Clipper
Minha errorsys é pública, tá pra quem quiser.
AppVersaoExe() é uma função necessária, mas é só pra retornar a versão do EXE em string "2019.07.17.1428" por exemplo.
Errorsys só precisa mostrar/gravar erro, melhor não alterar mais nada, porque senão pode até atrapalhar ao invés de ajudar.
é basicamente a do Clipper, alterada pra salvar o erro em hb_Out.log, e abrir no bloco de notas.
o nome não foi escolhido à toa: o Harbour já usa esse nome pra outros erros que não passam pela errorsys.
O fonte está aqui:
https://github.com/JoseQuintas/JoseQuintas/blob/master/prg/errorsys.prgSobre o email de erro:
O aplicativo, ao detectar um hb_out.log contendo texto, envia por email.
Com isso, faço o teste se o terminal tem acesso à internet - resultado: se o terminal não tem internet, outro que tenha transmite o email.
Simples e prático.
Isso ajudou muuuuuito... ajudou a deixar tudo redondo, e até resolver problemas antes do cliente ligar.
Além de já resolver antes que acontecessem em outros clientes...
É só uma idéia... pense nisso.