Problema com evento Choose em UPC

Discussão em 'Progress 4GL' iniciado por akaytatsu, Dezembro 5, 2014.

  1. akaytatsu

    akaytatsu Membro Participativo

    Criei um botao com uma upc normalmente.

    O botao aparece e tudo.

    CREATE BUTTON wh-btn-tul
    ASSIGN WIDTH = wh-btn-inc:WIDTH
    HEIGHT = wh-btn-inc:HEIGHT
    FRAME = p-wgh-frame
    NAME = "wh-btn-tul"
    SENSITIVE = TRUE
    X = wh-btn-inc:X + 380
    Y = wh-btn-inc:Y + 3
    triggers:
    on choose persistent run upc/upc-tul.p(input wh-wgh-res:SCREEN-VALUE).
    end triggers.

    Porem no evento on choose eu chamo o programa upc-tul e passo como parametro o screen-value do wh-wgh-res (numero solicitação). Porem esse valor sempre é 1, (ele pega somente o primeiro handle do campo, nao atualiza). Tudo bem que é persistent, entao eu fiz diferente, no evento VIEWER fiz assim:

    IF VALID-HANDLE(wh-btn-tul) THEN DO:
    ON 'choose':U OF wh-btn-tul PERSISTENT RUN upc/upc-tul.p(input wh-wgh-res:SCREEN-VALUE).
    END.

    e assim ele não faz nada, ação nem uma.
  2. Eilleen

    Eilleen Membro Ativo

    Boa tarde,
    Antes de mais nada admito q posso estar enganada, pois não trabalho com persistentes dessa forma.
    Eu seto uma handle para o programa persistente e executo a procedure que quero da persistente, dessa forma:

    IF NOT VALID-HANDLE(hUpcTul) THEN
    RUN upc\upc-tul.p PERSISTENT SET hUpcTul.

    Depois, digamos que eu precise da procedure "calcular" da persistente, então eu executo:

    RUN calcular in hUpcTul(input... output...).

    Até onde eu sei, as persistentes tem que ter o main-block sem comandos, ou no máximo setando parâmetros que vai usar.. Então se o main-block da sua persistente estiver assim, e vc está apenas executando a persistente, sem chamar procedure, então não vai mesmo realizar nenhuma ação.

    Mas, como eu disse, posso estar enganada, é um "tiro no escuro", uma vez que não sei o código da sua persistente.

    De qualquer forma, tente olhar pra ela, pode ser q o problema esteja nela e não no evento do botão...

    Espero ter ajudado de alguma forma. :)
  3. eduardo.leite

    eduardo.leite Equipe de Suporte Moderador Equipe de Suporte

  4. carsystem

    carsystem Sem Pontuação

    on choose persistent run upc/upc-tul.p(input wh-wgh-res).
    Passe a handle e não o screen dela.

Compartilhe esta Página