スクリプトの記述は、“手続き”の単位で行います。手続きには、以下の3種類があります。
1)初期処理用手続き 2)終了処理用手続き 3)一般手続き
1)は、マイクロスクリプトのウィンドウの起動/終了にともなって、自動的に実行される手続きです
3)の一般手続きは、2通りの実行/起動のされ方があります。
a) 手続き名を指定して動作の開始を指示する。以下の2通りがある。
・CALL実行
・EXECUTE起動
b)「あるセグメントの上でマウスをプレスした」といった“イベント”が発生したときに動作を開始する(イベント起動)。
■逐次実行(CALL文)と並列起動(EXECUTE文)
CALL実行は、CALL文を利用します。呼びだし側は、呼び出した手続きが終了するまで待ちます。一般のプログラミング言語のいわゆる手続き呼びだしに相当します(逐次実行)。
†CALL文を使用せずに、式の中に直接手続きを記述することもできます。
†逐次実行する手続きとして自分自身を実行することもできます(いわゆる再帰呼び出し)。
EXECUTE起動は、EXECUTE文を利用します。指定した手続きを並列して起動させます。つまり、自分のスクリプトの動作はそのまま継続され、指定した手続きのスクリプトと並列して動作します(並列起動)。
†並列起動する手続きとして、自分自身を起動することもできます(多重起動)。
並列に動作するスクリプトの実行の単位を“スレッド(Thread)”と呼びます。EXECUTE文により、スレッドが1つ増えることになります。CALL文では、スレッドは増えません。
◆マイクロスクリプトの説明では、“実行”と“起動”という言葉を区別しています。前者は逐次的に動作を開始することを、後者は並列的に動作を開始することを指しています。
■イベント起動
イベント起動の場合、手続きを定義するときにセグメント名とイベントの種類を記述します。イベントの発生により、それまで動いていたスレッドに新たにスレッドが1つ追加され、その手続きが並列起動されます。つまり、自動的にEXECUTE起動されることに相当します。
■注意点
逐次実行と並列起動に関して、以下の点に留意してください。
*2)終了処理用手続きの実行中は、ほかの手続きを並列起動することはできません。
*最大32個までスレッドを並列に実行できます。さらに、同一手続きを並列して多重起動することもできます。また、複数のスレッドから同一の手続きを同時に実行/起動することができます。