Atualização browser Automática

Discussão em 'Progress 4GL' iniciado por DFResmer, Dezembro 9, 2009.

  1. DFResmer

    DFResmer Membro Participativo

    Bom dia,
    Tenho a seguinte dúvida, eu criei um programa para produção, mas o que acontece é o seguinte, o usuário da produção, fica com um programa aberto, neste programa existe um browser com o que deve ser produzido conforme o outro usuário na outra ponta utiliza um programa de programação de produção...pois bem, o que acontece é o seguinte, o usuário que faz a programação da produção inclui alguns itens para serem produzidos, mas o do outro lado o browser não atualiza automaticamente, ele só vai ver novas solicitações se clicar em uma função que coloquei de atualização dando um novo open query no browser... eu preciso de uma função que faça automaticamente esta atualização a cada 3 segundos por exemplo ou a cada nova inclusão na tabela relacionada ao browser.....

    Att,


    Diogo
  2. baltazar

    baltazar Membro Participativo

    Pode utilizar um PsTimer e programa-lo para refrescar o browse de 3 em 3 segundos. (mais fácil)

    Pode também utilizar comunicação por sockets (no momento em que o utilizador insere um item, o programa manda uma comunicação para o programa de modo a actualizar o browse).

    Tenho um programa que utiliza os sockets e outro que utiliza o PsTimer.

    Se precisar, posso anexar no fórum.

    Baltazar
  3. DFResmer

    DFResmer Membro Participativo

    Legal, poderia anexar um exemplo de cada...
  4. baltazar

    baltazar Membro Participativo

    Exemplo AutoRun: AutoRun.w

    Exemplo Sockets

    (1) hl_u0007.w - Programa Base (Tem um OCX, mas não precisa dele)
    (2) hl_u0008.w - Programa que envia a Comunicação

    Estes dois programas fazem comunicação bi-direccional. (Não precisa de fazer isso).
    Basta fazer comunicação do (2) para o (1).

    Espero que ajude
    Baltazar

    Arquivos Anexados:

  5. Cobra.cne

    Cobra.cne Equipe de Suporte Moderador

    Diogo,

    Estava com o mesmo problema, e o Suporte Progress me passou este exemplo para utilizar o PSTimer que permite a execução (exemplo um contador), ao mesmo tempo que você pode efetuar outras alterações em tela.

    Lembrando que o intervalo do PSTimer é em MILISEGUNDOS. No lugar que ele esta utilizando o contador, você pode substituir pela abertura do seu browser.
    Para para o processo utilize:

    chCtrlFrame:pSTimer:Enabled = false.

    Código:
    
    ID: 19064
    Title: "ACTIVEX - How To Program The Progress PSTtimer OCX?"
    Created: 08/24/1999	Last Modified: 08/02/2007
    Status: Verified
    
    
    Goals:  
    How to Program the Progress PSTimer OCX?
    How to add code for the PSTimer OCX's 'Tick' event?
    
    
    Facts:  
    Progress 9.x
    Progress 8.x
    OpenEdge 10.x
    Windows
    
    
    Fixes:  
    The example is a fill-in field whose value increases by 1 every two seconds.  It uses the OCX.Tick event and the Interval attribute of the PSTimer OCX.
    
    Step by Step details:
    
    1) Start a UIB session.
    
    2) Create a new window (regular or Smart Window).
    
    3) add an integer fill-in field to the window. Its default name is FILL-IN-1.
    
    4) Add the PSTimer OCX object. The PSTimer icon in the object palette is a stopwatch.
    
    5) Create an OCX.Tick event for the PSTimer with the following code:
    
    (Use the New button to create events not listed in the event combo-box.)
    
    FILL-IN-1 = FILL-IN-1 + 1.
    DISPLAY FILL-IN-1 WITH FRAME {&FRAME-NAME}.
    6) Add a button widget to the window.
    
    7) Create a CHOOSE trigger for the button with the following code:
    
    chCtrlFrame:PSTimer:Interval = 2000.
    
    Espere que ajude.

    Att.
  6. DFResmer

    DFResmer Membro Participativo

    Legal, deu certo... muito obrigado, vou conseguir automatizar muitas funções que necessito.....

Compartilhe esta Página