Página 1 de 1

Controle Saída Súbita

Enviado: 28 Ago 2016 18:54
por fladimir
Pessoal, alguém poderia compartilhar caso utilize algum comando/função/forma de saber se houve saida súbita do sistema por terminal...

Pensei em fazer o seguinte... ao entrar no sistema nas primeiras linhas cria um arquivo tipo Ok.001 (001 referente ao terminal q entrou)

Ai qdo for fechar o sistema de forma correta apaga o arquivo...

Caso entre no sistema e já tenha o arquivo sinal q não fechou de maneira correta...

Alguém vê algum problema nessa lógica ou teria uma outra solução q possa compartilhar?

Agradeço.

[]'s

Controle Saída Súbita

Enviado: 28 Ago 2016 22:56
por JoséQuintas
Pra mim não daria certo, com multithread, ou no caso do usuário abrir mais de uma janela.
Se for MySQL, talvez gravar no banco de dados seja mais simples, na entrada, inclui o registro, e na saída exclui.
Ou criar um arquivo temporário e eliminar no final, pelo menos tem nome único.
Em DBF não daria muito certo, porque seriam muitos registros excluídos e pode tornar lenta a simples abertura do DBF.

Num primeiro momento, imagino essas opções.

Controle Saída Súbita

Enviado: 29 Ago 2016 08:19
por asimoes
Fladimir,

Você pode usar também a função Errorlevel()

Se você executa a aplicação através de uma bat a saída pode ser tratada com errorlevel

Na aplicação você no início do da aplicação (main) você atribui

ErrorLevel(0)

Na bat

IF NOT %ERRORLEVEL% == 0 GOTO ERRO ELSE GOTO FIM

Controle Saída Súbita

Enviado: 29 Ago 2016 08:43
por asimoes
No wspgm no início faço errolevel(0) e na saída normal errorlevel(1)

wspgm
IF NOT %ERRORLEVEL% == 1 GOTO ERRO ELSE GOTO FIM
:FIM
@echo tudo ok.
pause
GOTO END
:ERRO
@echo erro.
pause
GOTO END
:END

Se o usuário fechar a aplicação com o gerenciador de tarefas ou por algum outro motivo, exceto desligar a máquina a bat controla o nível de errorlevel

Controle Saída Súbita

Enviado: 29 Ago 2016 10:09
por fladimir
Vlw pessoal!!! Obrigado pelas contribuições!

[]'s