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

サンプル逆引き (18)

blur_f.hsp
blur_x.hsp
box_fullscr.hsp
cdplay.hsp
demo.hsp
menubar.hsp
mesh_x.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.1
作成日2004/10/12
著作者onitama
URLhttp://www.onionsoft.net/
備考ver3.1標準命令
タイプ内蔵命令
グループプログラム制御命令
対応環境
  • Windows 版 HSP
  • コマンドライン版 HSP
hs ファイルhsphelp\i_prog.hs