ウインドウを閉じる際に警告を表示する


FileMakerではユーザの様々な操作に介入することで操作ミスを防ぐことができます。その際によく利用されるのが「現在のスクリプト終了 [結果: 0]」というスクリプトステップです。

「ファイルオプション」内のスクリプトトリガによりウインドウ操作を制御できる

「ファイルオプション」内のスクリプトトリガによりウインドウ操作を制御できる

FileMakerには、キー入力などにともなって自動的にスクリプトを起動させる「スクリプトトリガ」という機能がありますが、その中でウインドウ操作に関するものは「ファイル」メニュー>>「ファイルオプション」>>「スクリプトトリガ」内で設定ができます。

あらかじめ以下のスクリプトを作成しておき、そのスクリプトを「OnWindowClose」または「OnLastWindowClose」に割り当てるのです。この2つの差異は読んで字の如し、です。

カスタムダイアログを表示 [“ウインドウを閉じます”; “ウインドウを閉じてもよろしいですか?”]
If [Get ( 最終メッセージ選択 ) ≠ 1]
現在のスクリプト終了 [結果: 0]
End If

ここで登場する「現在のスクリプト終了 [結果: 0]」では、結果に「0」を指定しておくことで単に動作中のスクリプトを停めるだけなく、それにともなって発生していたキー入力やマウスクリックまでなかったことにする、という機能になります。

この手法はキー入力の制限などでも利用できますが、もしOnObjectKeyStrokeなどのキー操作系で使用する場合は、Delキーや矢印キーなどまで無効にしてしまわないよう、ちょっとした条件の追加が必要になりますので配慮をしておきましょう。