Anylogic - перезапустите симуляцию с кнопки - PullRequest
0 голосов
/ 14 января 2019

Я хотел бы создать кнопку, которую пользователь может нажимать во время выполнения модели, которая останавливает модель и начинает ее снова с момента времени = 0.

Следующий код работает , но только в течение некоторого времени и иногда будет работать для двух или трех нажатий кнопки до того, как модель просто зависнет.

pauseSimulation();
stopSimulation();
getExperiment().stop();
((Simulation) getExperiment()).button.action();
getExperiment().run();

Иногда это связано с getEngine (). GetState () = PLEASE_WAIT, но не всегда.

Я не знаю, является ли это проблемой синхронизации или что я должен делать что-то немного другого порядка или с другой фразеологией.

Любые указатели очень ценятся.

1 Ответ

0 голосов
/ 16 января 2019

В вашем действии кнопки используйте

getExperiment().stop();

В свойствах эксперимента по симуляции в разделе Действия Java добавьте следующее после прогона симуляции:

run();
...