HSPポータル
サイトマップ お問い合わせ


HSPTV!掲示板


未解決 解決 停止 削除要請

2021
0702
Area39複数ウィンドウがあるとき、終了ボタン押したときのサブウィンドウ消去方法4解決


Area39

リンク

2021/7/2(Fri) 00:57:00|NO.93138

初歩的な質問をしてしまい、すみません。


screen 0 title "0 : main window" screen 1 title "1 : sub window" onexit gosub *owari stop *owari if ( wparam == 1 ) : gsel 1,-1 : return end

このようなプログラムによって、サブウィンドウを閉じたときはサブウィンドウのみを
メインウィンドウを閉じたときは全部閉じるように作りたいです。

ですが、このプログラムの場合、サブウィンドウのみ閉じて、Windowsをシャットダウン
した場合、シャットダウン処理を中止してしまいます。
この場合、何か対策あるでしょうか?
知恵をお貸し下さい。よろしくお願い致します。



この記事に返信する


f(待機期間中)

リンク

2021/7/2(Fri) 09:31:08|NO.93140

onexit で幸せになれるのではないか。



Area39

リンク

2021/7/2(Fri) 11:33:53|NO.93141

f(待機期間中) さま

ありがとうございます。
onexitですが、提示しているプログラム内で使っているのですが、
これを使っていることにより、サブウィンドウのみを閉じられても(不可視状態にしても)
stopにて止まっている状態であるため、Windows終了時にシャットダウンを妨げて
しまっている状態です。

これを何か回避する方法あれば、教えていただきたいと考えて居ます。



iui

リンク

2021/7/2(Fri) 12:03:09|NO.93142

onexitのヘルプより
>onexitでジャンプされた直後は、システム変数iparamに終了要因が値として保存されています。
>iparamが0の場合は、ユーザーの意思でプログラムを終了。
>iparamが1の場合は、 Windowsシャットダウン(再起動または電源OFF)による終了です。Windowsシャットダウン時の終了処理には、await、wait、stop命令などでシステムにアイドルタイム(待ち時間)を発生させた場合には、シャットダウン処理を中止します(シャットダウンされません)。
>await、wait、stop命令を使わずにend命令で終了した場合には、そのままシャットダウン処理が継続されます。
なのでiparamをみて判断すればいいです。



Area39

リンク

2021/7/2(Fri) 19:16:31|NO.93145

iuiさま

ありがとうございます、これで上手く出来そうです。

ありがとうございました



ONION software Copyright 1997-2021(c) All rights reserved.