In normal operation, when an oEvent Object's Operate property transitions from 0 to 1 the program flow is interrupted with a call to a Sub procedure specified by the oEvent Object's name. While the Sub procedure is executing the oEvent Object ignores the Operate property and waits for the program flow to return from the Sub procedure. When the program flow returns from the Sub procedure the oEvent Object resumes watching for the Operate property to transition from 0 to 1. The name of the Sub procedure that the oEvent object expects to call is the name of the oEvent object followed by "_CODE." That is to say, An oEvent object named "A" will call a Sub procedure named "A_CODE" If a second oEvent Object interrupts one that is in progress, the program flow will branch to the second oEvent Object's code. After the second oEvent Object is finished, the program flow will return to the first oEvent Object's code at the point it was interrupted where the program flow resumes. If the property option "C" is used, then the operation is modified so that this function only occurs once each time an oLogic Object transitions. If the Property Option "X" is specified, then a Priority property is added that allows the events to be prioritized. The lower numbered priorities will interrupt the higher numbered priorities, but higher numbered priorities will wait until lower numbered priorities are finished. For example, a priority 1 event, will interrupt a priority 2 event to run its code, but a priority 3 event will wait until the priority 2 event is finished before running its code. The oEvent object is non-maskable, which means that it will interrupt any oEventP object.Note: The oEvent Object has the highest priority and will always interrupt other oEvent Objects and oEventP objects with any priority. |