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

Duvida RUN com botões

Discussão em 'Progress 4GL' iniciado por Agnaldo, Agosto 23, 2017.

  1. Agnaldo

    Agnaldo Membro Ativo

    Progress 9, Windows.

    Tela com dois botões.
    B1 e B2.
    Ambos dão RUN em outro programa que esta no disco.

    B1 B2
    -- --
    RUN p1.w. RUN p2.w.
    MESSAGE "Voltou de p1". MESSAGE "Voltou de p2".


    Execução correta
    --------------------
    Clico em B1. Abre o programa p1.
    Clico em B2. Abre o programa p2.
    Fecho p2. Mostra "voltou de p2".
    Fecho p1. Mostra "voltou de p1".

    Execução parece errada
    ----------------------------
    Clico em B1. Abre o programa p1.
    Clico em B2. Abre o programa p2.
    Fecho p1. NÃO MOSTRA "voltou de p1". Botão B1 fica "congelado", sem ação.
    Fecho p2. Mostra "voltou de p2". Botão continua funcionando.

    Dá a impressão que coloca as chamadas numa "pilha" e o último que entra precisa ser o primeiro que sai.
    Alguma forma de contornar isso?
    Ps.: Não posso rodar persistente.
  2. bootstrapmaster

    bootstrapmaster Moderator Moderador Equipe de Suporte

    esse é exatamente o problema que ocorre com o CTRL-ALT-X, aqui eu criei um CTRL-ALT-X meu que faz um os-command abrindo outra sessão progress rodando o programa.
  3. Agnaldo

    Agnaldo Membro Ativo

    O chato de usar o artificio de outra sessão é o consumo de licenças Progress, visto que é uma outra conexão que é feita ao banco.
  4. bootstrapmaster

    bootstrapmaster Moderator Moderador Equipe de Suporte

    sim, esse é o problema, porque licença TOTVS é por sessão/estação, então se eu abro 3 sessõe na mesma maquina, pro TOTVS só conta como 1, mas pro progress não.
  5. rafael.andrade

    rafael.andrade Membro Master Moderador Equipe de Suporte

    Deixe-me entender, todos os 2 botões chamam os mesmos 2 programas encavalados?
    Tipo, ao clicar no botão ele roda 2 programas externos de uma só vez e o outro faz a mesma coisa?
    Qual é a utilidade disso? Pra que precisa funcionar desse jeito?
  6. bootstrapmaster

    bootstrapmaster Moderator Moderador Equipe de Suporte

    Não, a questão vc ter 2 botões, cada um chama um programa diferente, mas se vc clicar nos 2 botões, o primeiro chama o programa dele, clica no segundo botão, chama o programa dele, mas, porem, contudo, entretanto, se vc fechar o primeiro programa, não libera a ação do 1 botão, só libera depois que vc fechar o 2 programa, ou seja, os botões não fazem um processo paralelo, assincrono, teria que fazer algo do tipo run persistent pra chamar o programa e liberar o chamador, mas é complicado, porque nem todos os programas aceitam ser chamados dessa forma.

Compartilhe esta Página