Nunca antes hasta ahora hab铆a tenido necesidad de usar un timer, por lo que probablemente est茅 haciendo algo mal. La cuesti贸n es la siguiente: En un ambiente de red local necesito refrescar un oSay contenido en un di谩logo (Funci贸n Colas() ) con el contenido de un campo de un fichero dbf que cambia de valor por acci贸n dada desde cualquier terminal.(Funci贸n Siguiente() ) El hecho es que si lo hago desde el mismo terminal en que abro el di谩logo el oSay1 se refresca convenientemente; sin embargo si el cambio se realiza desde cualquier otro terminal no se mueve. He comprobado que el dato se graba en el fichero. Este es el c贸digo usado:
*********************************
STATIC FUNCTION COLAS()
********************************
Local oDlg
Local oSay1
Local cNumero:=STR(FRECU3->ANTERIOR,2)
//
DEFINE DIALOG oDlg RESOURCE "COLAS"
REDEFINE SAY oSay1 聽PROMPT cNumero 聽ID 201 OF oDlg
//
ACTIVATE DIALOG oDlg CENTER ON INIT MiTimerOn(oSay1,oDlg) NOMODAL
//
RETURN NIL
**********************************************************
STATIC FUNCTION 聽MiTimerOn(oSay1,oDlg)
**********************************************************
DEFINE TIMER oTimer OF oDlg INTERVAL 1000 ACTION TimerAction(oSay1)
ACTIVATE TIMER oTimer
RETURN NIL
**********************************************
STATIC FUNCTION TimerAction(oSay1)
**********************************************
Local cAnterior:= STR(FRECU3->ANTERIOR,2)
Local cNumero 聽:= STR(FRECU3->NUMERO,2)
//
IF cNumero <> cAnterior
聽聽 //
聽 聽 聽oSay1:SetText(cNumero)
聽 聽 聽//
聽 聽 聽IF FRECU3->(!RecLock(5))
聽 聽 聽 聽TONE(400,2)
聽 聽 聽 聽TONE(200,2)
聽 聽 聽 聽//
聽 聽 聽 聽MsgInfo("No es posible la modificaci贸n;int茅ntelo m谩s tarde, por favor.")
聽 聽 聽 //
聽 聽 聽 ELSE
聽 聽 聽 聽 聽REPLACE FRECU3->Anterior WITH FRECU3->Numero
聽 聽 聽 聽 聽FRECU3->(DbRunLock())
聽 聽 聽 聽 聽FRECU3->(DbCommit())
聽 聽 聽 ENDIF
聽 聽 聽 //
ENDIF
//
RETURN NIL
**************************************
STATIC FUNCTION SIGUIENTE()
**************************************
Local nNumero 聽:= FRECU3->Numero
聽nNumero = nNumero+1
聽 //
聽 聽 聽IF FRECU3->(!RecLock(5))
聽 聽聽 聽 聽TONE(400,2)
聽 聽聽 聽 聽TONE(200,2)
聽 聽 聽聽 聽//
聽 聽 聽聽 聽MsgInfo("No es posible la modificaci贸n;int茅ntelo m谩s tarde, por favor.")
聽 聽 聽 //
聽 聽 聽 ELSE
聽 聽 聽 聽 聽REPLACE FRECU3->Numero WITH nNumero
聽 聽 聽 聽 聽FRECU3->(DbRunLock())
聽 聽 聽 聽 聽FRECU3->(DbCommit()) 聽 聽 聽 聽
聽 聽 聽 ENDIF
聽 聽 聽 //
//ENDIF
//
RETURN NILUn saludo,
Manuel
xH 1.2.3, FWH 23.07 32 bits, BC++ 7.4, xVerce CW 1.0, PellesC
Manuel
xH 1.2.3, FWH 23.07 32 bits, BC++ 7.4, xVerce CW 1.0, PellesC