关于“停止当前动作的其它实例”并未使被停止的实例写入状态

使用问题 · 89 次浏览
hbser 创建于 20天4小时前

类似于有什么方式可以自动重启动作吗?这个使用问题,我在自己编写的动作中试图通过以下步骤组实现自动重启动作,但是实际运行时发现通过“停止当前动作的其它实例”停止的实例似乎没能把改变后的状态变量写入状态,修改等待时间也并没有效果。

步骤组:
  获取系统或动作信息(运行个数)
  如果运行个数>=2
    停止当前动作的其它实例
    等待时间(等待关闭实例的状态变量写入状态)
    运行当前动作
    停止(return)

回复内容
CL 20天4小时前
#1

变量状态不适合同时开启多个实例的情况。即便前一个写了状态,也会被后一个冲掉。


hbser 回复 CL 20天3小时前 :

我设想的情况是:

实例①运行中(运行中的实例:①)

启动实例②(运行中的实例:①②)

实例②将实例①关闭,实例①的状态变量写入状态(运行中的实例:②)

实例②启动实例③,实例③读取的状态是实例①写入之后的状态(运行中的实例:②③)

实例②自行关闭(运行中的实例:③)


我想达成这种效果该怎么做呢?

CL 回复 hbser 19天16小时前 :

改成手动的状态存取,不要用状态变量。

hbser 回复 CL 19天15小时前 :

问题是动作本身含有长时间循环,如果改成在循环内手动状态存取,一是反复存取显得繁琐,二是循环外的动作设置等子程序也需要全部加入手动的状态存取,但我动作里有十几个子程序……

如果需要参考动作内容(主要是长时间循环)可以查看 监测更新 - by hbser - 动作信息 - Quicker (getquicker.net) ,不过我还在编写,所以更新后的内容(子程序与自动重启动作的步骤组)还没有同步到动作库内

回复主贴