プログラムが停止するたびにスクリプトを実行する方法はありますか? 私はこのようなことをする必要があります:
Var.Set \myvar=list[Id]
list と Id は、プログラムの変数です。
ただし、Id が変わっ\myvar
ても変わらない場合は、古い Id に対応する値のままです。
これが、プログラムの実行が停止するたびにそのコマンドを実行するスクリプトを実行したい理由です。
プログラムが停止するたびにスクリプトを実行する方法はありますか? 私はこのようなことをする必要があります:
Var.Set \myvar=list[Id]
list と Id は、プログラムの変数です。
ただし、Id が変わっ\myvar
ても変わらない場合は、古い Id に対応する値のままです。
これが、プログラムの実行が停止するたびにそのコマンドを実行するスクリプトを実行したい理由です。
プログラムが停止するたびにスクリプトを実行するには、コマンド ON または GLOBALON を使用します。ON は、テスト ケースを制御するアクティブな PRACTICE スクリプトがまだある場合に適しています。GLOBALON は、再度無効にするまでイベントに反応したい場合に適しています。
一般的な構文は次のとおりです。
ON|GLOBALON <event> <action>
ここで、「event」は「program-break」の PBREAK であり、「action」は「DO <script.cmm>」であり、イベントで個々のスクリプトを実行できます。
すべてをまとめると、次のようになります。
GLOBALON PBREAK DO syncmyvar.cmm
スクリプト syncmyvar.cmm にはコマンドが含まれていますVar.Set \myvar=list[Id]
プログラム ブレークの使用でイベント ハンドラーを無効にするには
GLOBALON PBREAK inherit
Var.Set \myvar=list[Id]
あなたのユースケースを正しく理解していれば、変更のたびにコマンドを実行したいと思うでしょうId
。この場合、コマンド アクションで書き込みブレークポイントを使用することを検討します。たとえば、次のようにします。
Var.Break.Set Id /Write /CMD "Var.Set \myvar=list[Id]" /RESUME
ただし、これはまったく異なる動作を示します。このブレークポイントを使用すると、Id への書き込みアクセスごとにアプリケーションがすぐに停止し、\myvar は常に Id と同期しますがGLOBALON PBREAK DO syncmyvar.cmm
、変数 \myvar は、アプリケーションが完全に停止したときにのみ更新されます。