#DEFINE APPEND 1 #DEFINE CRLF CHR(13) + CHR(10) DECLARE Sleep IN WIN32API INTEGER nMilliseconds _Screen.AddObject( "EscapeButton", "EscBtn" ) _Screen.EscapeButton.Visible = .T. ** Init the file. SET SAFETY OFF STRTOFILE( "", "LogTimerEvents.txt" ) SET SAFETY ON LogProcess( "Create Message Timer" ) loTestEvents = CREATEOBJECT( "TestEvents" ) READ EVENTS DEFINE CLASS TestEvents As Custom FUNCTION Init This.AddObject( "MessageTimer", "Timer" ) BINDEVENT( This.MessageTimer, "Timer", This, "ProcessMessages" ) LogProcess( "Set Interval to 1" ) This.MessageTimer.Interval = 1 LogProcess( "Enable Timer" ) This.MessageTimer.Enabled = .T. ENDFUNC FUNCTION ProcessMessages LogProcess( "Disable Timer" ) This.MessageTimer.Enabled = .F. FOR lnOuterLoop = 1 TO 10 LogProcess( "In for loop lnCount = " + TRANSFORM( lnOuterLoop ) ) DO FORM HelloForm ENDFOR LogProcess( "Reset Timer" ) This.MessageTimer.Reset() ENDFUNC ENDDEFINE Procedure LogProcess( tcMessage ) tcMessage = tcMessage + " " + TRANSFORM( DATETIME() ) + " " + CRLF STRTOFILE( tcMessage, "LogTimerEvents.txt", APPEND ) ENDPROC DEFINE Class EscBtn As CommandButton Caption = "Escape" FUNCTION Click() CLEAR EVENTS ENDFUNC ENDDEFINE>> snip >>