Usamos cookies para medir audiência e melhorar sua experiência. Você pode aceitar ou recusar a qualquer momento. Veja sobre o iMasters.
Olá pessoal.
Estive olhando no forum e não encontrei nenhum tópico que atendesse à minha necessidade, portanto lá vai.
Preciso implementar um esquema de sessão (tempo limite de inatividade) em um sistema em Delphi. Tenho algumas idéias de como desenvolver, mas gostaria de ouvir opiniões a respeito; sem alguém já desenvolveu, pesquisou ou ao menos pensou em um recurso assim para um sistema em Delphi.
Meu sistema é um ERP para uma papelaria, desenvolvido sob medida para um cliente, com banco Firebird 1.5. Tenho um form principal, que é a raiz para todos os recursos do sistema. Abro todas as janelas usando o comando Showmodal. Tem ainda um sistema de usuário (login/logoff), também com janela aberta em modal.
Alguma sugestão?
Então Marcio,
Eu tembém pensei nisso. Mas minha dúvida é a seguinte: como eu abro outros forms em modal, o timer conseguirá perceber que houveram ações nesses outros forms e zerar o timer?
:huh:
Sim, se colocar o timer no form principal, ele sempre ficará marcando tempo...
Coloca numa datamodule. a parte mais chata. em cada evento reseta algum valor para 30, ai a cada segundo o time diminui o valor, se for 0 acaba
Marcio, Rento,
Estive analisando aqui. Acho que uma boa solução seria:
- Colocar o Timer no form inicial;
- Criar um form template, herdado por cada form do sistema;
- Nos eventos onMouseMove, onKeyPress, onActivate e onClose do template, chamar uma função que reinicializa o contador regressivo do timer;
Minha dúvida: se o cursor estiver dentro de um TMemo, por exemplo, e a pessoa estiver digitando ali por um tempo superior ao da sessão, o evento onKeyPress do form será executado?
Abraço
O que pode tentar é colocar um Timer no form principal, e esse timer controlar a inatividade do seu aplicativo...