一時画面の処理の例
マクロ・ランタイムが画面認識を行っていて、有効な次画面のリストに以下の 3 つのマクロ画面の名前があるとします: ScreenB と ScreenD (候補画面の名前)、および ScreenR (一時画面の名前)。マクロ・ランタイムは次のステップを実行します。
- セッション・ウィンドウの表示スペースが更新されると、 マクロ・ランタイムは有効な次画面のリストにある名前を通常の方法で 評価します。
- 予期しないアプリケーション画面が発生したため、ScreenB または ScreenD は 現行アプリケーション画面と一致せず、ScreenR は現行アプリケーション画面 と一致したとします。
- 一時画面が認識されたので、マクロ・ランタイムは有効な次画面のリストから 名前を除去しません。
- マクロ・ランタイムは、ScreenR を処理対象の現行マクロ画面にします。
- マクロ・ランタイムは、ScreenR のアクションを実行します。これらのアクションは、予期しないアプリケーション画面を消去します。
- マクロ・ランタイムは、ScreenR 内の <nextscreens> エレメント (ある場合) を無視します。
- マクロ・ランタイムは、前述のステップ 1 で行っていた直前の画面認識 タスクに戻ります。有効な次画面のリストは変更されていません。今度は、予想通りのアプリケーション画面が表示され、ScreenD が その画面に一致することをマクロ・ランタイムが検出したとします。したがって、次のようになります。
- マクロ・ランタイムは、ScreenR を次に処理するマクロ画面にします。
- マクロ・ランタイムは、有効な次画面のリストから名前 ScreenB と ScreenD を 除去します。名前 ScreenR はリストに残ります。
- マクロ・ランタイムは、ScreenD のアクションの処理を開始します。