Tenho essa função para testar a inatividade do sistema, o problema é que o Idle para quando uma função modal é executada tipo hwg_msginfo é executada, o intuito é saber se o sistema está em uso e inativo por x horas e derrubar ele.
►Harbour 3.x | Minigui xx-x | HwGui◄ Pense nas possibilidades abstraia as dificuldades. Não corrigir nossas falhas é o mesmo que cometer novos erros. A imaginação é mais importante que o conhecimento. (Albert Einstein)
nThread := Hb_ThreadStart( HB_BITOR( HB_THREAD_INHERIT_PUBLIC, ;
HB_THREAD_INHERIT_PRIVATE, ;
HB_THREAD_INHERIT_MEMVARS ), ;
HB_THREAD_MEMVARS_COPY, ;
{ || Inatividade() } )
FUNCTION Inatividade()
THREAD STATIC nSeconds
DO WHILE .T.
IF nSeconds = Nil
nSeconds := Seconds()
ENDIF
IF Round( InatividadeSistema(), 0 ) == 0
nSeconds := Seconds()
ENDIF
IF Seconds() - nSeconds >= 10
nSeconds := Nil
hwg_ExitProcess()
ENDIF
ENDDO
RETURN Nil
►Harbour 3.x | Minigui xx-x | HwGui◄ Pense nas possibilidades abstraia as dificuldades. Não corrigir nossas falhas é o mesmo que cometer novos erros. A imaginação é mais importante que o conhecimento. (Albert Einstein)
Eu estou pensando em remover isso de vez.
Ao usar multithread/multitarefa, com certeza o usuário vai ter várias janelas, e sempre vai ter janela parada.
Criei pra determinadas situações: RunWhileThread()
É ficar executando enquanto outra rotina estiver em aberto.
Usava por exemplo em pedidos, pra avisar de pedidos atrasados.
Ao fechar a rotina de pedidos, também fechava essa rotina.
José M. C. Quintas
Harbour 3.2, mingw, gtwvg mt, fivewin 25.04, multithread, dbfcdx, MySQL, ADOClass, PDFClass, SefazClass, (hwgui mt), (hmg3), (hmg extended), (oohg), PNotepad, ASP, stored procedure, stored function, Linux (Flagship/harbour 3.2) "The world is full of kings and queens, who blind our eyes and steal our dreams Its Heaven and Hell" https://github.com/JoseQuintas/
Eu defino uma inatividade de 8h se o usuário deixar o sistema aberto, e a inatividade atingir 8h o sistema é derrubado
►Harbour 3.x | Minigui xx-x | HwGui◄ Pense nas possibilidades abstraia as dificuldades. Não corrigir nossas falhas é o mesmo que cometer novos erros. A imaginação é mais importante que o conhecimento. (Albert Einstein)
►Harbour 3.x | Minigui xx-x | HwGui◄ Pense nas possibilidades abstraia as dificuldades. Não corrigir nossas falhas é o mesmo que cometer novos erros. A imaginação é mais importante que o conhecimento. (Albert Einstein)
Estou usando isso, porque temos usuários locais e remotos e quando temos uma manutenção de sistema não conseguimos colocar em produção porque tem algum usuário "usando" na verdade a aplicação avisa que precisa sair para atualizar mas tem usuário que deixa o sistema logado ai a rotina corporativa que faz as atualizações finaliza a atualização, agora tem como estabelecer um timeout para inatividade
►Harbour 3.x | Minigui xx-x | HwGui◄ Pense nas possibilidades abstraia as dificuldades. Não corrigir nossas falhas é o mesmo que cometer novos erros. A imaginação é mais importante que o conhecimento. (Albert Einstein)
Itamar M. Lins Jr. escreveu:Não precisa de MT, basta chamar o sistema quantas vezes desejar. O windows é MT, então ele resolve isso.
Nunca me preocupei com isso, derrubar o usuário da rede.
O BD é Oracle não pode ser derrubado.
►Harbour 3.x | Minigui xx-x | HwGui◄ Pense nas possibilidades abstraia as dificuldades. Não corrigir nossas falhas é o mesmo que cometer novos erros. A imaginação é mais importante que o conhecimento. (Albert Einstein)
Pode ser usado para outras finalidades como execução fantasma na aplicação
* Não usar style
►Harbour 3.x | Minigui xx-x | HwGui◄ Pense nas possibilidades abstraia as dificuldades. Não corrigir nossas falhas é o mesmo que cometer novos erros. A imaginação é mais importante que o conhecimento. (Albert Einstein)