I am using a motion controller board installed into a PC AGP slot (Servo-Halbeck POSYS 904- German product). This motion controller used Delphi language to execute motion controller commands, to create forms and to create all the control logics. I need to create a main program, which will examine different events generated by my motion controller and then execute different procedure according to these events. I am already using the TTimer procedure to update my graphic and my numeric displays at every 1 second. Is there any other way besides using the TTimer to generate and execute a main program procedure on a cyclic time base?