Boa tarde. Pessoal tenho um componente PsTimer que quer executar como um cronometro, so que ele tem de disparar e parar qdo for chamado o problema é disparar e parar. alguem sabe como dar um stopo e start em um componente assim??
Quando você cria o pstimer e executa ele cria uma procedure chamada mais o menos assim CtrlFrame.PSTimer.Tick. dentro desta procedure você faz o controle. tipo assim. if variavel-x >= 1 then chPSTimer:Enabled = true. else chPSTimer:Enabled = false. e assim você vai conseguir para e startar o pstimer. espero que ajude.
Bom dia. Obrigado pela resposta. Coloquei este codigo na procedure TICK ele da a msg "para", so que continua a execução, nao para de jeito nenhum. Código: v-segundos = v-segundos - 1. DISP v-segundos @ v WITH FRAME frm-trab. IF v-segundos = 0 THEN DO: v-segundos = 10. MESSAGE "para" VIEW-AS ALERT-BOX INFO BUTTONS OK. DO WITH FRAME frm-trab. chps-segundos:ENABLED = FALSE . RUN control_load. END. END.
Agora deu certo. tem de ser assim assign handleObjeto:NomeDoPsTimer:Enabled = false. ASSIGN chCtrlFrameSTimer:ENABLED = FALSE. So que nao pode ser na trigger do Tick pq ele ta em execucao e da conflito, criei uma function e joguei o codigo la funcionou legal. Obrigado.
Isso ai Lorenzi, se você notar o código anterior o nome que usei é chPstimer pois é o nome do objeto handle que ele criar no momento de execução. quanto ao não funcionar dentro da trigger discordo um pouco pois tenho aqui e funciona legal. Que bom que funcionou. abs.