DEFINE CLASS TimerTest AS CUSTOM OLEPUBLIC oTimerControl = .NULL. oTimerEventHandler = .NULL. PROCEDURE INIT ** Create the timer object THIS.oTimerControl = CREATEOBJECT( "ccrpTimers.ccrpTimer" ) ** Create the event handler THIS.oTimerEventHandler = CREATEOBJECT( "TimerEventHandler" ) ** Attach the eventhandler to the timer control EVENTHANDLER( THIS.oTimerControl, THIS.oTimerEventHandler ) ** Set the timer properties ** As soon as your set enabled to .T., the timer will begin functioning ** Event type, 0 - one shot timer event, 1 - Periodic timer events THIS.oTimerControl.EventType = 1 THIS.oTimerControl.INTERVAL = 1000 THIS.oTimerControl.ENABLED = .T. ENDPROC ENDDEFINE ** Replace the path in the IMPLEMENTS line with the path where you installed ccrptmr.dll DEFINE CLASS TimerEventHandler AS SESSION IMPLEMENTS __ccrpTimer IN "c:\ccrp\ccrptmr.dll" PROCEDURE __ccrpTimer_Timer( Milliseconds AS NUMBER ) AS VOID ; HELPSTRING "Event that fires whenever [Interval] milliseconds elapses." ** Your timer event code goes here IF !DIRECTORY( "c:\temp\" ) MD c:\temp ENDIF =STRTOFILE( "", "c:\temp\" + ALLTRIM( STR( SECONDS(), 12, 2 )) + ".txt" ) ENDPROC ENDDEFINE 4) Instantiate the class: oCom = CREATEOBJECT( "TimerTest.TimerTest" )That's it! Your timer events will now function correctly in a VFP MTDLL.