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

[RESOLVIDO] Janela Corrente

Discussão em 'EMS , HCM e Totvs 11' iniciado por lhp.s, Novembro 27, 2015.

Status do Tópico:
Não esta aberto para novas mensagens.
  1. lhp.s

    lhp.s Membro Participativo

    Boa tarde senhores,

    Criei um .P que é executado logo no inicio do sistema (la no menu).
    Código:
    ON CTRL-F5 anywhere persistent run utils\programaXXXX.w.
    
    Bom, agora eu preciso que o utils\programaXXXX.w,
    me traga informações da Janela Corrente.
    Ja tentei active-window... current-window... this-procedure:current-window...
    Mas nada de funcionar legal.
    Se eu tenho outra janela aberta, ou até mesmo o Editor, o programa não funciona legal!

    Outra pergunta! Existe alguma método para o SESSION., que me traga uma relação
    de todos programas abertos? -- (Não quero usar o Protools, preciso customizar)


    At.
  2. Eilleen

    Eilleen Membro Ativo

    Boa noite...
    Já tentou o PROGRAM-NAME?
  3. Eilleen

    Eilleen Membro Ativo

    Esse comando é para obter lista dos pgmas abertos, mas ele segue uma pilha... não pega programas paralelos...
  4. bootstrapmaster

    bootstrapmaster Moderator Moderador Equipe de Suporte

    Esse é o codigo do CTRL-ALT-H, veja se consegue te dar alguma luz, por exemplo, ao chamar o seu programa, passar como parametro um campo handle, que pode ser o THIS-PROCEDURE, que seria o handle do programa em execução, já a questão da sessão, tem no help do progress tudo que a função SESSION:..... pode te trazer.

    Código:
    on CTRL-ALT-H anywhere do:
        define variable v-dbname    as character no-undo.
        define variable v-table     as character no-undo.
        define variable v-name      as character no-undo.
        define variable v-data-type as character no-undo.
        define variable v-format    as character no-undo.
    
        if valid-handle(focus) then do:
            assign v-dbname = focus:dbname no-error.
            if error-status:error then assign v-dbname = ''.
            assign v-table = focus:table no-error.
            if  error-status:error then assign v-table = ''.
            assign v-name = focus:name no-error.
            if  error-status:error then assign v-name = ''.
            assign v-data-type = focus:data-type no-error.
            if  error-status:error then assign v-data-type = ''.
            assign v-format = focus:format no-error.
            if  error-status:error then assign v-format = ''.
    
            message "DBName:"      v-dbname    skip
                    "Table:     "  v-table     skip
                    "Name:     "   v-name      skip
                    "Type:      "  v-data-type skip
                    "Format:   "   v-format
                    view-as alert-box information.
        end.
    end.
    
  5. lhp.s

    lhp.s Membro Participativo

    Valeu Richard. Vou tentar.

    Eileen, program-name não resolve nesse caso.
    Ele empilha até o meu .P, no caso a trigger.
    Porém, preciso que traga as informações da janela ativa.
    Exemplo:
    Abri o FT0904 , CD0606 e o CD0204
    A minha trigger deverá perceber quem está ativa, ou seja, selecionada.
  6. lhp.s

    lhp.s Membro Participativo

    Não deu certo.... o valid-handle(focus) retornou false.

    Mas mesmo assim, valeu senhores!
Status do Tópico:
Não esta aberto para novas mensagens.

Compartilhe esta Página