UPC desconfigura Programa

Discussão em 'Progress 4GL' iniciado por muertebr, Julho 29, 2011.

  1. muertebr

    muertebr Membro Participativo

    Alguem já teve problema com UPC em programas que possuem abas e derrepente vc faz a upc, tudo blz, mais quando vai abri o programa denovo ele traz a aba onde ta a upc pra frente, desconfigurando todo o programa.
    Somente após você clicar no aba que possui a upc que o programa estabiliza de novo.

    O que poderia estar de errado, ou faltando?
  2. romuloccomp

    romuloccomp Membro Participativo

    Bom dia,

    Pode mandar a UPC ?

    Isso costuma acontecer quando você usa alguma referencia de campo ou Global Shared que pode muda a cada execução.
  3. muertebr

    muertebr Membro Participativo

    Segue - Consulta CD1022:

    Código:
    {include/i-freeac.i}
    
    DEF INPUT PARAM p-ind-event  AS CHAR          NO-UNDO.
    DEF INPUT PARAM p-ind-object AS CHAR          NO-UNDO.
    DEF INPUT PARAM p-wgh-object AS HANDLE        NO-UNDO.
    DEF INPUT PARAM p-wgh-frame  AS WIDGET-HANDLE NO-UNDO.
    DEF INPUT PARAM p-cod-table  AS CHAR          NO-UNDO.
    DEF INPUT PARAM p-row-table  AS ROWID         NO-UNDO.
    
    def var h-dt-impla   as widget-handle no-undo.
    def var h-dt-alter   as widget-handle no-undo.
    def var h-text-alter as widget-handle no-undo.
    def var h-frame      as widget-handle no-undo.
    
    DEF VAR c-objeto AS CHAR NO-UNDO.
    DEF NEW GLOBAL SHARED VAR p-row-table-ttt AS ROWID.
    
    ASSIGN c-objeto  = ENTRY(NUM-ENTRIES(p-wgh-object:PRIVATE-DATA, "~/"), p-wgh-object:PRIVATE-DATA, "~/").
    
    {utp/ut-glob.i}
    
    RUN upc/findWidget.p (INPUT 'cod-emitente',  INPUT p-wgh-frame, OUTPUT h-frame).
    IF VALID-HANDLE(h-frame) THEN DO:
        FIND FIRST emitente NO-LOCK WHERE emitente.cod-emitente = INT(h-frame:SCREEN-VALUE) NO-ERROR.
        IF AVAIL emitente THEN ASSIGN p-row-table-ttt = ROWID(emitente).
    END.
    IF p-ind-event = "initialize" AND 
       p-ind-object = "viewer" AND 
       c-objeto = "v35ad098.w" THEN DO:
        RUN upc/findWidget.p (INPUT 'data-implant',  INPUT p-wgh-frame, OUTPUT h-dt-impla).
        IF VALID-HANDLE(h-dt-impla) THEN DO:
            CREATE FILL-IN h-dt-alter
            ASSIGN FRAME     = h-dt-impla:FRAME
                   WIDTH     = 11
                   HEIGHT    = h-dt-impla:HEIGHT
                   ROW       = h-dt-impla:ROW
                   COL       = h-dt-impla:COL + 23
                   VISIBLE   = YES
                   SENSITIVE = NO
                   NAME      = "data-alteracao"
                   FORMAT    = "99/99/9999".
            CREATE TEXT h-text-alter
            ASSIGN FRAME        = h-dt-impla:FRAME
                   WIDTH        = 9
                   HEIGHT       = h-dt-impla:HEIGHT
                   ROW          = h-dt-impla:ROW
                   COL          = h-dt-impla:COL + 13
                   VISIBLE      = YES
                   NAME         = "txt-alteracao"
                   FORMAT       = "x(14)"
                   SENSITIVE    = NO
                   SCREEN-VALUE = "Ult Alter Rep:".
        END.
    END.
    IF (p-ind-event = "display" OR p-ind-event = "initialize") AND p-ind-object = "viewer" THEN DO:
        FIND FIRST emitente NO-LOCK WHERE ROWID(emitente) = p-row-table-ttt NO-ERROR.
        IF AVAIL emitente THEN DO: 
            FIND FIRST spawClientes NO-LOCK
                WHERE spawClientes.clienteId = emitente.cod-emitente NO-ERROR.
            IF AVAIL spawClientes THEN DO:
                run upc/findWidget.p (input 'data-alteracao', input p-wgh-frame, output h-dt-alter).
                IF VALID-HANDLE(h-dt-alter) THEN
                    ASSIGN h-dt-alter:SCREEN-VALUE = STRING(spawClientes.dataUltimaAlteracao, "99/99/9999").
            END.
        END.
    END.

Compartilhe esta Página