We value your input! Please participate in Archicad 28 Home Screen and Tooltips/Quick Tutorials survey
2015-11-11 05:53 PM - last edited on 2023-07-13 02:54 PM by Doreena Deng
2015-12-04 02:36 PM
2015-12-04 06:45 PM
2015-12-07 12:14 PM
Xylios wrote:The current problem is that many ARCHICAD API calls are not designed for concurrency, especially database writes, i.e. undoable transactions. I don't what might happen with read-only operations if they run in parallel with user-editing, file merges, TW receives etc.
Hello there, I'm trying to find an operation that allows the user to freely use the GUI while my plug-in is running.
2015-12-10 02:38 PM
Oleg wrote:Thank you Oleg. We have tried with example 2, but unfortunately, the GS:Thread and GS::Runnable classes mentioned in the example are not recognised. Are they part of the API? Or did they change with ArchiCAD 19? Strange that an included example would use non-documented classes... We will try further with an alternative class or starting our own thread, but fear that it will lead to the same limitations, if not fully steered from the ArchiCAD main thread.
Some ideas:
1. You may to create a Palette dialog.
Progress bar and Cancel button for example.
Imptement the PanelObserever::PanelIdle event.
Show it during you process active.
Do the communication action in this event.
Close the panel as the communication ends
2. For AC19.
Look at ACAPI_Command_CallFromEventLoop command.
See the example in the documentation about this command and GS::Thread.
2015-12-10 05:43 PM
2015-12-11 09:16 AM
2015-12-11 04:12 PM
stefan wrote:I've used GS::Runnable, but only in the context of the element settings dialogs.
We did a test with boost threading and that seemed to work for now. Need further testing.
2015-12-14 03:25 PM
2018-07-04 12:02 PM