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エラー発生時にジャンプ

サンプル逆引き (36)

(HSP3) sample [Omake].hsp
(HSP3) sample4 [MonoCapture].hsp
(HSP3) sample5 [AVISave].hsp
(HSP3) sample6 [DeviceCapacity].hsp
cdplay.hsp
demo.hsp
elm2d_edit.hsp
multitouch1.hsp
multitouch2.hsp
multitouch3.hsp
onexit.hsp
sample01.hsp
sample02.hsp
sample03.hsp
sample04.hsp
sample05.hsp
sample06.hsp
sample07.hsp
sample08.hsp
sample09.hsp
sample10.hsp
sample11.hsp
sample12.hsp
sample13.hsp
sample14.hsp
sample15.hsp
sample16.hsp
sample17.hsp
sample18.hsp
sample19.hsp
sample21.hsp
sample22.hsp
sample25_SelectAudioDevice.hsp
terminal.hsp
vtest1.hsp
winmove.hsp

情報

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