reiniciar rotina em frame

Discussão em 'Progress 4GL' iniciado por ueluis, Abril 9, 2012.

  1. ueluis

    ueluis Membro Participativo

    Olá pessoal,

    estou enfrentando dificuldades em realizar a seguinte operação:

    tenho um frame chamado ação1 que dá acesso a um segundo frame chamado acao2 no mesmo programa.
    ao chamar o frame acao2 através do botão abrir não consigo retornar para a tela anterior.

    podem me dar uma ajuda?

    abaixo um exemplo que estou tentando fazer:

    Código:
    
    DEF BUTTON b-abrir AUTO-GO LABEL "abrir " size 10 BY 3.
    DEF BUTTON b-fechar LIKE b-abrir  LABEL "Fechar".
    
    DEF FRAME f-acao
    
        "Frame acao01" SKIP
        b-abrir
    
        WITH title "   Frame acao01" 
        NO-LABELS  three-d  view-as DIALOG-BOX 
        size 50 by 14.5 centered OVERLAY. 
    
    
    DEF FRAME f-acao2
    
        "Frame acao02" SKIP
        b-fechar
    
        WITH title "   Frame acao02" 
        NO-LABELS  three-d  view-as DIALOG-BOX 
        size 50 by 14.5 centered OVERLAY. 
    
    
     ON "choose":u OF b-abrir IN FRAME f-acao DO:
        ENABLE ALL WITH FRAME f-acao2.
        wait-for close of this-procedure.
    
     END.
    
     ON "choose":u OF b-fechar IN FRAME f-acao2 DO:
        
         apply "WINDOW-CLOSE" to this-procedure.
    
     END.
    
    
    ENABLE ALL WITH FRAME f-acao.
    wait-for close of this-procedure.
    
    
  2. LeandroSantos

    LeandroSantos Membro Participativo

    Veja se é isto que você quer:
    Código:
    DEF BUTTON b-abrir AUTO-GO LABEL "abrir " size 10 BY 3.
    DEF BUTTON b-fechar LIKE b-abrir  LABEL "Fechar".
    
    DEF FRAME f-acao
    
        "Frame acao01" SKIP
        b-abrir
    
        WITH title "   Frame acao01" 
        NO-LABELS  three-d  view-as DIALOG-BOX 
        size 50 by 14.5 centered OVERLAY. 
    
    
    DEF FRAME f-acao2
    
        "Frame acao02" SKIP
        b-fechar
    
        WITH title "   Frame acao02" 
        NO-LABELS  three-d  view-as DIALOG-BOX 
        size 50 by 14.5 centered OVERLAY. 
    
    
    ON "choose":u OF b-abrir IN FRAME f-acao DO:
        ENABLE ALL WITH FRAME f-acao2.
        
        ON "choose":u OF b-fechar IN FRAME f-acao2 DO:
           apply "WINDOW-CLOSE" to frame f-acao2.
        END.
        
        wait-for window-close of frame f-acao2.
        disable all with frame f-acao2.
        hide frame f-acao2.
    
    END.
    
    on window-close of frame f-acao
       apply "close" to this-procedure.
    
    ENABLE ALL WITH FRAME f-acao.
    wait-for close of this-procedure.
    
  3. ueluis

    ueluis Membro Participativo

    vlw muito obrigado mesmo!!

    resolveu meu problema!!

Compartilhe esta Página