Parar execucao de um componente PSTimer

Discussão em 'Progress 4GL' iniciado por lorenzi, Janeiro 23, 2014.

  1. lorenzi

    lorenzi Membro Participativo

    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??
  2. lwazevedo

    lwazevedo Membro Ativo

    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.
  3. lorenzi

    lorenzi Membro Participativo

    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.
  4. lorenzi

    lorenzi Membro Participativo

    Agora deu certo.

    tem de ser assim

    assign handleObjeto:NomeDoPsTimer:Enabled = false.
    ASSIGN chCtrlFrame:pSTimer: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.
  5. lwazevedo

    lwazevedo Membro Ativo

    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.

Compartilhe esta Página