MC-Basic:task.STATE/zh-hans

From SoftMC-Wiki
Jump to: navigation, search
语言: English  • 中文(简体)‎

缩写

格式

?<task>.State

适用版本

所有版本


描述

该查询返回一个长整型(Long) 数值,用于指示任务的当前运行状态。在特定情况下,常规的任务状态值会根据以下两种条件进行修正:

1) 任务(Task)被锁定

2) 任务(Task)被中断

当任务处于状态处于2、4或10且正在等待系统事件以完成执行时,该任务将被视为“锁定”状态。

在这种情况下,值256(0x100)被添加到常规任务状态,典型场景是当任务包含连续执行的三个移动指令时,解释器在等待第一条指令完成以执行第二条指令的过程中,任务即处于锁定状态。

如果从终端输入STOP命令,任务将保持在运行模式。 从终端输入IDLETASK命令,任务切换到停止和锁定状态。 它被锁定是因为它正在等待“继续”命令恢复运动。 任务被OnEvent或OnError中断。 在这种情况下,值512(0x200)被添加到常规任务状态。。

1: 运行 (TASK_RUNNING)

2: 在STEPIN指令后,由IDLETASK指令来停止 (TASK_STOPPED)

3: 程序在单个步骤模式

4. 由于错误而停下(TASK_ERROR)

5: 终止

                   “可以在以下情况下瞬间的看到任务状态: 
                   “ 1. 终止程序 
                   “ 2. 非加载

6: 程序在单独步骤模式下,使用STEP-OVER命令。

7: 加载后准备好 (TASK_READY)

8: continuetask 命令后瞬间的状态

9: 不正确的状态 (可能任务失败)

10: KILLTASK 或者 END PROGRAM之后的状态 (TASK_KILLED)

如果任务被一个时间中断,任务的状态值会被加上 512。如果任务被锁定,任务的状态值会被加上 256。

类型

Long

取值范围

返回值: 1, 2, 4, 5, 7, 9, 10

单位

默认

使用范围

任务区,终端区

限制

任务只能在存储器内被加载

例子 =

?Task1.prg.state

If Task1.prg.state = TASK_ERROR Then
检查任务是不是因为运行错误而停止的。

参见