Closed AlexisDrogoul closed 11 months ago
@hqnghi88 @lesquoyb I have committed a refactoring of IExperimentController (and its subclasses), which only exposes methods that explicitly require an argument telling to run it synchronously or asynchronously. This will allow to test which ones should be synced or not. I have changed also the corresponding GAMA methods and made the "play"/"pause"/"reload" commands in GUI call the synchronous versions. Thanks for testing this !
I introduced a bug when dealing with this issue: reloading a simulation does not reopen its parameters view (actually it seems to be an on/off state, as it is reopened if one reloads it one more time...).
This one has been tested and seems to work well.
I noticed another problem specific to the GUI implementation: the play command doesn't wait for everything to be initialized before returning the
CommandExecutedSuccessfully
message which leads to errors in client programs that do not exist in purely server mode.Here is an example python client program:
if you comment out the
wait 10sec
line and the following, it breaks the rest of the program when interacting with GUIOriginally posted by @lesquoyb in https://github.com/gama-platform/gama/issues/3910#issuecomment-1774593894