Page 1 of 1

wait dialog

Posted: Tue Oct 11, 2005 9:59 am
by Maverich
I'd like to have a dialog with a TAnimate object (example the copy files di windows) during massive dbf operations. The animation doesn't start, the only way to make it move is placing various sysrefresh() during dbf operations. Is there any other way?

this is the code:

Code: Select all

#include "fivewin.ch"

function main()
	local a
	
	attendi(.t.)
	inkey(3)  // this way doesn't move
	attendi(.f.)
	
	attendi(.t.)
	for a=1 to 200  // this way it moves!!!
		inkey(.01)
		sysrefresh()
	next
	attendi(.f.)
return nil

FUNCTION Attendi( lStatus )
	STATIC oDlg
	LOCAL oAnimate

	IF lStatus .AND. oDlg = NIL
		DEFINE dialog oDlg resource "Main"
		oAnimate = TAnimate():REDEFINE( 160, oDlg )

		ACTIVATE dialog oDlg NOWAIT centered ;
		ON INIT ( , oAnimate:CopyFiles(), oAnimate:Play() )
	ELSE
	oDlg:END()
	oDlg = NIL
ENDIF

RETURN NIL
regards
riccardo

Posted: Tue Oct 11, 2005 11:26 am
by Antonio Linares
Riccardo,

SysRefresh() is required in order to let Windows process pending messages.