Preciso que um timer rode simultaneamente a um Eval() atualizando um meter a cada 1 segundo....
Alguem sabe dar um exemplo de como fazer rodar simultaneamente com threads?
Exemplo:
Código: Selecionar todos
Function MsgEspera(bAction)
local oDlg, oMeter, oText, oBtn, oFont
local nVal := 90, Result := .T., oTmr := NIL, nCont
DEFAULT bAction := { || SysWait(10) }
DEFINE DIALOG oDlg ;
FROM 5, 5 TO 10, 45 ;
TITLE "Titulo"
DEFINE Timer oTmr ;
Of oWnd ;
Interval 100 ;
Action (nCont++ )
oDlg:lHelpIcon := .F.
@ 1, 0.7 PROGRESS oMeter ;
POSITION nVal ;
SIZE 150,10 ;
OF oDlg
oDlg:bStart = { || oTmr:Activate(), SysWait(0.2), Result := Eval( bAction) , SysWait(0.2), oDlg:End() }
ACTIVATE DIALOG oDlg;
CENTERED
oTmr:Deactivate()
oTmr:End()
oTmr:= NIL
Alert(nCont)
return Result


