如何在Anylogic中取消动态事件



我有一个模型,它使用动态事件来根据Stuart对这个问题的回答来安排资源池大小的更改对于我的应用程序,我希望模型用户能够通过单击作为UI一部分的按钮来取消即将到来的动态事件,但我不知道如何使用reset((函数来实现这一点。任何帮助都将不胜感激。

您需要保存动态事件的实例:

假设您的动态事件名为dynamic你可以用create_Dynamic();触发它

创建Dynamic类型的变量。。。让我们把这个变量称为x然后做

x=create_Dynamic();

有了这个,你可以通过取消动态事件

x.reset();

但使用动态事件的意义在于,每次创建_dynamic((时,都会创建一个独立使用的事件实例,因此不需要取消它

如果您需要取消一个事件,请使用正常的,甚至由用户触发。。。然后你可以很容易地取消

Felipe有更好的答案。但是,您也可以简单地在动态事件中添加一个if检查。无论何时触发,它实际上只在用户没有取消的情况下执行操作:

if (userCancelledByNow) {
// do nothing
} else {
your normal DE logic code
}

(如果用户单击某个按钮,则需要将其保存为布尔变量,以便在上面的动态事件中进行检查(

最新更新