|
|
|
|
- Summary table about the operating mode of event
EventChange (Function) In french: SignalModifie Modifies the status of an event.
// Create an event EventCreate("Let's go", eventManual, eventClose) // Run a first thread ThreadExecute("Thread1", threadNormal, "Thread_First") // Locks the current thread until the event is obtained ThreadWaitSignal() // Run a second thread ThreadExecute("Thread2", threadNormal, "Thread_Second") // Locks the current thread until the event is obtained ThreadWaitSignal() // Modifies the event to run the threads EventChange("Let's go", eventOpen) //---------------------------------------------- PROCEDURE Thread_First() Trace(dbgInfo(dbgProcess) + " - ThreadSendSignal(threadMain)") ThreadSendSignal(threadMain) EventWait("Let's go") Trace(dbgInfo(dbgProcess) + " - Event received") //-------------------------------------------- PROCEDURE Thread_Second() Trace(dbgInfo(dbgProcess) + " - ThreadSendSignal(threadMain)") ThreadSendSignal(threadMain) EventWait("Let's go") Trace(dbgInfo(dbgProcess) + " - Event received") Syntax
EventChange(<Event> [, <New status>])
<Event>: Character string Name of the event to modify. If this event does not exist, it is automatically created with the default options (automatic mode) and in the specified status. <New status>: Optional constant Status of the event: | | eventClose | Closes the event. This constant is equivalent to EventClose. | eventOpen (Default value) | Opens the event. If threads are waiting for the event, they are automatically unlocked. This constant is equivalent to EventOpen. | eventOpenAndClose | Opens the event, unlocks all the pending threads and closes the event.
This constant is not recommended. It is kept for backward compatibility. |
Remarks Summary table about the operating mode of event | | | Value of EventChange | Automatic event (by default) | Manual event |
---|
eventOpen | A single thread is processed by the event. The event is automatically closed once the thread is processed. Pending threads: If there is no pending thread, the event remains open until the next thread, then it is closed. New threads: The new threads are added to the pending queue. | The event is opened. Pending threads: All the pending threads are processed. New threads: If other threads arrive while the event is still open, they are processed. | eventOpenAndClose
This constant is not recommended. It is kept for backward compatibility. | A single thread is processed by the event. The event is automatically closed once the thread is processed. Pending threads: If there is no pending thread, the event remains closed. New threads: The new threads are added to the pending queue. | All the threads are processed by the event. The event is automatically closed once all the threads are processed. New threads: The new threads are added to the pending queue. | eventClose | The event remains closed. New threads: The new threads are added to the pending queue. | The event is closed. New threads: The new threads are added to the pending queue. |
This page is also available for…
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|