In an event script, there's the advanced option for Invoke Later. What does this mean, exactly? When is later?
If you let your mouse hover the "Invoke Later" checkbox you can see informations.
If Invoke Later is checked, the event is called after the event processing is done.
What does that mean though?
I don't know exactly what is the event processing, by default Invoke Later
is checked, let it unless if your script needs to be execute sooner for some reason.
I never touch this parameters
When you check the "Invoke Later" checkbox, it means that the script you are setting will be executed after the current event handling is completed, ensuring that the script runs asynchronously and does not block the UI.
The usage scenario would be If you have a script that needs to run in response to a user action (like clicking a button), and this script performs a time-consuming operation, checking "Invoke Later" ensures that the script will run without freezing the interface.
It is talked about on this page in the manual.
This is just wrong.
All event handling in Vision is done on the EDT. If the invokeLater box is checked, your script is invoked at the end of the current (as of that moment) event queue's stack of events (mouse moves, clicks, keyboard events, window movement, etc). If you uncheck invoke later, it is processed immediately, before other GUI updating events have had a chance to run.
It has nothing to do with asynchronous processing or moving off the EDT entirely.