今回もFileMakerのスクリプトを書き始めた層が対象の記事です。
スクリプトデバッガってなんですか?
現場の支援をしていると、スクリプトは書いているけれど、スクリプトデバッガの存在を知らない、という現場に遭うことがあります。
ひょ!?
とこちらがびっくりするのですが、そこは一息置いてスクリプトデバッガの便利さをこれでもかと述べるのですが、いまいちピンと来てくれないことが多く、凹んで「あざましたー」とzoomの退出ボタンをクリックします。
一言で言うと、
「あなたの書いたスクリプト、1行ずつ動かしてみまっせ」
です。
まるで、まな板の鯉です。
人様に見せるなんて思ってもみなかったコードが赤裸々に動いているのを見られてしまいます。
きゃー、恥ずかし!
と最初のうちは思うのですが、無いと困ることが徐々にわかってきます。(わかって)
スクリプトデバッガを使えるようにする
FileMaker Proの設定に、「高度なツールを使用する」というチェックボックスがあります。
ここをチェックするのです。

すると、FileMaker Proのメニューに、「ツール>スクリプトデバッガ」が出てきます。

これです!
スクリプトデバッガをクリックすると、デバッガの画面が立ち上がります。

これで、スタンバイOKです。
何かしらの実装したボタンなどをクリックする前に、この画面を立ち上げておきましょう。
このデバッガ画面と一緒に、データビューアも立ち上げておきましょう。
で、データビューア!?
また難しい言葉が出てきたぞ、と構えられますが、こちらもスクリプトデバッガと一緒に使うと超便利です。
先ほどのFileMaker Proのメニューの「ツール>データビューア」から表示もできますが、スクリプトデバッガ画面の右上にあるデータビューアのアイコンからも表示できます。

データビューアも、最初は何も表示されない枠だけのウインドウです。

データビューアは、その名の通り、実行中の変数やフィールドの値がまるまるっと見れます。
実際に変数に値をセットすると、その変更された変数の値が見られます。
これで、スクリプトを動かした時の赤裸々体験の準備は完璧です!

実際にボタンをクリックしてみる
では、ここで見積書一覧の「詳細」ボタンをクリックしてみましょう。
クリックしたボタンに割り当てられたスクリプトが実行のスタンバイをします。

まずは、1行ずつ動かすので、「ステップイン」のアイコンをクリックして、スクリプトの中に入っていきましょう。

動かしていくと、スクリプトの中で変数にスクリプトステップの実行結果であるエラーコードを代入している箇所があります。
ここを通過すると、データビューアにどんなエラーコードがセットされているかが表示されます。

今回はエラーコード0で正常に動いていますが、エラーが発生した際には、スクリプトデバッガの画面下にエラーコードが表示されます。

これだけでも実行したスクリプトで逐一何が起こったかがわかるので、目を離さずに1行ずつ実行していってください。
基本の動きはこんな感じです。
便利だと思っている機能
単にスクリプトを赤裸々に実行するだけではありません。
「あ、やべえ」に気づいた時すぐに編集できる
便利だと思っているスクリプトデバッガの機能として、途中でスクリプトの編集画面が立ち上がるところです。
スクリプトデバッガの画面左上にある、鉛筆アイコンがそれになります。

例えば、エラー時に表示するカスタムダイアログの文章を変更したい場合、この鉛筆アイコンで編集ができます。

残念なことに、修正したスクリプトを保存すると、デバッガは終了してしまうのですが、途中で「あ、やべ」と思って修正するのにスクリプトワークスペースを立ち上げてスクリプトを検索、、、という手間を省けます。
ビュンとワープ
これは割とデバッガを使っている人は、便利に使っている機能ではないでしょうか?
公式では、ワープではなく、「ブレークポイント」と呼んでいます。
スクリプトが長いと、確認したい行まで行き着くのに1行ずつ実行していると面倒臭くなります。
動かしているデバッガの行番号をクリックすると、そこまで自動で実行して止まってくれます。

どんだけ深い闇にいるかが見える
スクリプトデバッガの下には、コールスタックという、どのスクリプトから入って今どのスクリプトを実行しているか、というネスト構造が見られるところがあります。
例えば、下のコールスタックでは、見積書レイアウトの「詳細ボタン」というスクリプトに入って、その中から「ウインドウ枠設定」というスクリプトが実行されている、という途中経過です。

通常であれば、そんなに気にしないコールスタックですが、スクリプトを再帰処理(スクリプトの中から、今実行中のスクリプトを再度実行する)を実行しているときの確認に威力を発揮します。
再帰処理をしていると、繰り返し呼ばれている自身のスクリプトが今どのくらい深い闇にいて何回返ってくると終われるのか、というゾンビのような構造の終わりを見ることができます。
公式ブック、活用してますか?
そのほか、普通に使っていると「え、そんなことできるんですか?」とびっくりされる機能など満載なのですが、この記事で紹介したことは、公式の「Claris FileMakerのガイドブック ②実践編」でもっと詳しく解説されています。
現時点は第3版になっています。
スクリプトデバッガの解説は、「第10章 スクリプトと自動化」にあります。
この第10章は、スクリプトデバッガを活用した実装とテストを手を動かしながら、デバッガを動かしながら実践することができます。
今までもスクリプトデバッガ使ってきているよ、という方で、まだこのガイドブックの第10章を見ていない方がいましたら、ぜひ、公式ブックでその便利さを再確認してください。