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?
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.
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.