- ベストアンサー
ボタンの二重押し防止について
xcodeでapplescriptを利用して書いているのですがボタンの二重押し防止について何かヒントを頂ければと思います on clicked theObject ←ボタン ○○○○(何秒間か時間を必要とするコードです) end clicked とします ○○○○のコードが走っている何秒間の時にクリックしてもボタンが反応しないようにしたいと思っています 何も対策をしないとコードの実行中にボタンを押すとコードが終了したら再度上記のコードが走ります (ボタンのenabledをfalseにしたりtransparentをtrueにしてもだめでコードが繰り返されました)
- みんなの回答 (1)
- 専門家の回答
質問者が選んだベストアンサー
現在処理中かどうかのフラグを立てて、 処理を行なう前にチェックするのはどうでしょうか? -- フラグの初期値は0 set flag to 0 on clicked theObject -- フラグチェック。flag=1のときはスキップ if flag is 0 then -- 処理開始。フラグをセット set flag to 1 ○○○○ -- 処理終了。フラグを戻す set flag to 0 end if end clicked としておけば、flag=1の間は○○○○の処理が 行われないようになります。
お礼
参考になりました ありがとう御座います
補足
ありがとう御座います、早速行ってみました set flag to 0 on clicked theObject if flag is 0 then set flag to 1 ○○○○ set flag to 0 end if end clicked とするとthe variable flag is not defined とエラーがでましたので flag変数をglobalで宣言しまた、しかし結果は同じエラーでした 続いてporpertyを宣言して初期値に0を代入したところエラーは出ませんでしたが二重押し防止にはならず処理中にボタンを押すと処理が終了した直後に○○○○のコードを実行します 申し訳ありませんが申し越し教えて頂ければ幸いです