ツールをつくっていて「セーブボタンが二回連続で押されても一回だけ保存するようにする」ためにobjenalbe命令でボタンの無効化をしたところ、
Escキーを押したら終了するように指定しておいたonkey命令が動かなくなってしまいました。
どのようにすればonkey命令が復活するでしょうか?
下に問題の部分だけのソースをのせます。
症状
起動し、なにもせずにEscキーを押すとソフトは終了します。しかし、起動した後に「SAVE」と書かれたボタンを押して
セーブ処理終わった後にEscキーを押すとソフトが終了しません。
ですが、「SAVE」ボタンを押し、Escキーを押してソフトが終了しないのを確認した後にウィンドウを最小化し最大化すると
Escキーが反応します。他のウィンドウを選択してからまた元に戻ってEscを押すとEscが反応します。
なぜでしょうか?
ttl = "テスト"
ttls = "セーブ中"
screen 0,854,480
title ttl
onkey gosub *key //*keyにジャンプするように指定
pos 70,430
objsize 780,45
button gosub "SAVE",*savedata
*main
///
await 1
goto *main
*savedata //セーブ
objenable 0,0 ///SAVE ボタンを無効化 2重保存防止
title ttls
wait 50
onkey 1
title ttl
objenable 0,1 //SAVE ボタンを有効化
return
*key //Escを押されたら終了
if iparam = 27 : end
return