1. This site uses cookies. By continuing to use this site, you are agreeing to our use of cookies. Learn More.

  2. Anuncie Aqui ! Entre em contato fdantas@4each.com.br

Bloquear programa

Discussão em 'Progress 4GL' iniciado por Marciogodoi, Abril 27, 2009.

  1. Marciogodoi

    Marciogodoi Sem Pontuação

    Bom dia, pessoal alguem sabe como fazer para bloquear o programa que foi utilizado para chamar o outro. Tipo, quando mando chamar um programa o programa abre como principal, e o programa de trás fica desabilitado até que o programa que foi aberto seja respondido ou fechado. Como as telas de Busca dos programas do EMS.

    Obrigado
  2. TeD

    TeD Membro Participativo

    Boa Tarde,

    Segundo a Progress, não é possivel implementar as janelas modal, porque violam o Template GUI.

    Uma solução é a de ocultar a janela pai antes de executar a janela filho e exibi-la novamente após o regresso do controle da janela filho. Por exemplo:

    ProgramaPai:VISIBLE = FALSE.
    RUN ProgramaFilho.w.
    ProgramaPai:VISIBLE = FALSE.
    APPLY 'ENTRY' TO ParentWindow
  3. Marciogodoi

    Marciogodoi Sem Pontuação

    ok, nesta lógica eu conseguiria bloquear o programa utilizando a propriedade SENSITIVE, porém não entendi direito como faria para voltar o valor da propriedade para TRUE ao fechar o programa, por acaso eu teria que passar uma variavel tipo HANDLE para o programa filho? Será que daria certo?

    Att.

    Marcio Godoi
    Analista de sistemas
  4. Marciogodoi

    Marciogodoi Sem Pontuação

    Consegui fazer utilizando uma variavel tipo WIDGET-HANDLE, onde passo o nome da tela.

    programaPai:SENSITIVE = FALSE.
    RUN programaFilho (INPUT tela:HANDLE ).


    No programa filho declarei um parametro de entrada do tipo WIDGET-HANDLE

    DEFINE INPUT PARAMETER tela AS WIDGET-HANDLE NO-UNDO.

    No evento Window-close do programa filho mandei atualizar o valor da propriedade para TRUE.

    tela:SENSITIVE = TRUE.

    valeu pessoal.

Compartilhe esta Página