onexit

終了時にジャンプ

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シャットダウン時の終了処理には、awaitwaitstop命令などでシステムにアイドルタイム(待ち時間)を発生させた場合には、シャットダ
ウン処理を中止します(シャットダウンされません)。
awaitwaitstop命令を使わずにend命令で終了した場合には、そのままシャットダウン処理が継続されます。

終了時ジャンプの一時的なON/OFFをすることも可能です。

	onexit 0

で一時的に割り込みを停止します。

	onexit 1

で一時停止した割り込みを再開させることができます。

関連項目

onkeyキー割り込み実行指定
onclickクリック割り込み実行指定
onerrorエラー発生時にジャンプ

サンプル逆引き (21)

blur_f.hsp
blur_x.hsp
box_fullscr.hsp
cdplay.hsp
demo.hsp
elm2d_edit.hsp
mesh_x.hsp
multitouch1.hsp
multitouch2.hsp
multitouch3.hsp
onexit.hsp
robot.hsp
robot_x.hsp
terminal.hsp
test1.hsp
test1.hsp
test1f.hsp
test1x.hsp
test2.hsp
vtest1.hsp
winmove.hsp

情報

バージョン3.4
作成日2013/12/09
著作者onitama
URLhttp://hsp.tv/
備考ver3.4標準命令
タイプ内蔵命令
グループプログラム制御命令
対応環境
  • Windows 版 HSP
  • コマンドライン版 HSP
hs ファイルhsphelp\i_prog.hs