STATUS
(関数)

プログラムの状態を得ます。

STATUS(<プログラム名>)

<プログラム名>で指定したプログラムの状態が整数で格納されています。
値
|
状 態
|
|
---|---|---|
1
|
running
|
実行中
|
2
|
stopping
|
停止中
|
3
|
suspend
|
一時停止中
|
4
|
delay
|
遅延中
|
5
|
pending
|
待機中
|
6
|
step stopped
|
ステップ停止中
|

-
自分自身のSTATUSを取得することはできません。
-
プログラムが実行中であることを示す状態には1:runningの他に4:delay、5:pendingも該当し、実行するコマンドの処理状況によって変化します。プログラムが実行中かどうかを判断する場合は用例のプログラムを参考にしてください。
-
CALLコマンドで呼び出されているプログラムの状態を得るには、呼び出している方のプログラムのプログラム名を指定してください。例えばPROGRUM PRO1:CALL SUB1:というプログラムがあり、プログラム"SUB1"が呼び出されている最中のプログラム"SUB1"の状態を得るには"PRO1"を指定してください。"SUB1"を指定すると、正しい状態が得られません。I0 = STATUS(PRO1)

DIM li1 As Integer
|
|
li1 = STATUS(samp1)
|
'samp1のプログラムの状態を整数でli1に代入します。
|
|
|
'====== プログラムの状態別処理 ======
|
|
|
|
DEFINT iX
|
|
iX = STATUS(PRO1)
|
|
SELECT CASE iX
|
|
CASE 2
|
'停止中
|
|
'停止中の処理
|
CASE 3,6
|
'一時停止中、ステップ停止中
|
|
'一時停止中、ステップ停止中の処理
|
CASE ELSE
|
'実行中、遅延中、待機中
|
|
'実行中の処理
|
END SELECT
|
|