Página 5 de 5

Rotina de ErrorLog

Enviado: 24 Abr 2017 01:50
por JoséQuintas
O que mais me intriga é esse erro método não exportado: SEVERITY, que, até onde sei, é problema do Harbour, não é da minha aplicação.
Justamente é erro da sua aplicação, da sua errorsys, ou do seu desvio pra errorsys.

Isso faz parte o objeto de erro, se não tem isso, não é um objeto de erro.
O que ainda não entendi é como vc baixa? Por ftp? Se não, de onde baixa? Como faz para baixar?

E como vc consegue renomear o EXE com o programa em execução
Ué... baixar um EXE é baixar um EXE, tanto faz como se faça isso, ftp, http...
Renomear o EXE... acho que já disse que não renomeio, uso um novo nome e pronto.

Rotina de ErrorLog

Enviado: 24 Abr 2017 02:33
por cjp
Como isso nunca tinha me ocorrido, fico totalmente vendido nesse erro. Teria como vc me dar um exemplo do que poderia causar esse erro de método não exportado?

A questão é que, pelo menos no meu provedor, não consigo colocar EXE no FTP. Vc consegue?

Você que disse que renomeia pra EXE:
baixo o EXE com um nome temporário, testo tamanho/crc32, se tudo ok, renomeio pra EXE
Usa um nome novo? Mas daí o usuário precisa saber que o sistema deverá ser aberto por esse nome novo?

Desculpe a insistência, mas realmente estou querendo aprender uma melhor forma de enviar uma atualização do sistema.

Rotina de ErrorLog

Enviado: 24 Abr 2017 03:24
por JoséQuintas
Usa um nome novo? Mas daí o usuário precisa saber que o sistema deverá ser aberto por esse nome novo?
O que você faria pra isso acontecer manualmente? é só fazer via aplicativo.
Como isso nunca tinha me ocorrido, fico totalmente vendido nesse erro. Teria como vc me dar um exemplo do que poderia causar esse erro de método não exportado?
Como é definida a rotina de erros alternativa?

Errorblock( { | e | deferror(e) } )

Não lembro exatamente a sintaxe porque não uso isso..
Esse "e" não está aí por acaso, é o objeto de erro, passado pra função de erro.
e:Severity faz parte desse objeto de erro.

Como eu já disse por aqui, quer inventar de fazer diferente, ou usar errorsys pessoal, então aprenda e entenda o que está fazendo, senão melhor deixar original.
Também não adianta uma errorsys correta, se inventar de desviar os erros de forma errada, ou restaurar a rotina de erros padrão de forma errada.

E se esse erro continua, sinal de que não fez o que já falei, de retirar tudo que colocou pra tratar erros.

Agora pergunto novamente:
Prefere o usuário achando ruim de ver mensagens de erro na tela, ou prefere saber quais são os erros e corrigir?
O usuário tá mais feliz por não ver os erros, ou no final, VOCÊ e o USUÁRIO estão tristes porque sai do aplicativo sem explicação?
Está mesmo valendo a pena esconder os erros?

Nota: não lembro a sintaxe direito, porque não uso. Pelo que entendi você usa muito, então você sim, deveria saber a sintaxe correta.

Rotina de ErrorLog

Enviado: 24 Abr 2017 16:37
por cjp
O que você faria pra isso acontecer manualmente? é só fazer via aplicativo.
O que eu faço eu sei, mas não está satisfatório. Por isso perguntei como vc faz. Certamente a sua forma é melhor que a minha.

Todas as alterações que eu fiz na minha errorsys, e também o uso do begin sequence, eu peguei de sugestões de pessoas daqui do fórum. Peguei pronto, da forma como me ensinaram, não inventei nada de mim mesmo. Eu entendi que o "e" contém o objeto do erro. Só não sei o que é o severity, nem o porquê de passar a dar este erro agora, sendo que eu sempre usava essa forma e nunca aparecia esse erro.

Certamente eu precisaria saber mais sobre isso, mas infelizmente não sei. Estou tentando aprender, e pra isso eu conto com a boa vontade de vocês.

Mas já entendi que já incomodei mais do que deveria, não vou incomodar mais. Vou me virar como conseguir.

De toda forma, agradeço.

Rotina de ErrorLog

Enviado: 24 Abr 2017 17:16
por JoséQuintas
Mas já entendi que já incomodei mais do que deveria, não vou incomodar mais. Vou me virar como conseguir
Não é isso...

A coisa é assim:

Não sei o que você fez no aplicativo inteiro, não tenho como adivinhar.
Só você mesmo pode resolver.

Revise todo uso de BEGIN SEQUENCE/RECOVER no aplicativo, qual a forma correta, e se todos estão iguais.
Não uso desse jeito, então não sei se fez certo, e não vou pesquisar como se faz pra te ensinar, a pesquisa fica com você.

Até comentei de remover todo tratamento de erros do aplicativo.... mas não fez....