I use the Scripter Engine to fill a table with information resp. do calculations. Therefore I have a for-loop which needs several seconds to finish. During that time the program freezes and does not react to any other user input.
I put Application.ProcessMessages inside the for loop. That solved my problem partly. While the script is running I can click buttons, checkboxes and so on. Timer events are also triggered. That's good so far.
But all things which are triggered by Actions (TActionList/TAction => Vcl.ActnList) are not working. Actions are not executed until my script has finished.
What can I do to make Actions triggered during the runtime of my script?
This looks a use cade for threads. Use a thread and execute your script from it. Since scripter is not thread-safe, you should use a specific scripter component just for that thread, do not use it to execute scripts in multiple threads.