終了時にジャンプ
onexit goto/gosub *label
*label : ラベル名
クローズボックス(ウィンドウ右上の終了ボタン)を押した時に、自動的にジャンプする場所を指定します。 onexitの後に続けて、 gotoまたはgosubキーワードを指定してからラベルを記述します。 gotoの場合には、単純なプログラムジャンプ。 gosubの場合はサブルーチンジャンプを行ないます。 goto/gosubキーワードを省略した場合には、gotoキーワードと同等の動作になります。 例 : onexit gosub *exit_routine ; 終了時呼び出し 通常は、クローズボックスを押すとどのような時でも強制終了してしまいますが、この命令が実行された以降は、クローズボックスを押すとonexit命令で指定したラベルにジャンプし、そこから実行を続けるようになります。 終了時に確認メッセージを表示したい時、終了したらデータを保存するようにしたい時などに使います。 この命令が実行されると、 end命令以外ではスクリプトの実行が止められなくなるので、十分に注意して使ってください。 複数のウィンドウを作成した場合は、いずれかのウィンドウにある終了ボタンで割り込みが発生します。この時、システム変数wparamに終了の通知を受けたウィンドウIDが代入されます。 onexitでジャンプされた直後は、システム変数iparamに終了要因が値として保存されています。 iparamが0の場合は、ユーザーの意思でプログラムを終了。 iparamが1の場合は、 Windowsシャットダウン(再起動または電源OFF)による終了です。Windowsシャットダウン時の終了処理には、await、wait、stop命令などでシステムにアイドルタイム(待ち時間)を発生させた場合には、シャットダ ウン処理を中止します(シャットダウンされません)。 await、wait、stop命令を使わずにend命令で終了した場合には、そのままシャットダウン処理が継続されます。 終了時ジャンプの一時的なON/OFFをすることも可能です。 onexit 0 で一時的に割り込みを停止します。 onexit 1 で一時停止した割り込みを再開させることができます。
バージョン | 3.4 |
作成日 | 2013/12/09 |
著作者 | onitama |
URL | http://hsp.tv/ |
備考 | ver3.4標準命令 |
タイプ | 内蔵命令 |
グループ | プログラム制御命令 |
対応環境 |
|
hs ファイル | hsphelp\i_prog.hs |