FileMaker Goでは、カードビューではウインドウ名は表示されてしまう。

カードビューをよく使うようになった。

FileMakerに追加された機能でよく使うのは「カードビュー」です。
親ウインドウを表示したまま、モーダルで表示されるので便利です。
「親ウインドウのこの作業を補完するために、この子ウインドウが表示されているな」
とビジュアルで一目見て相関関係がわかるのが良いところだと思います。

実際によくあるフロー。

FileMakerで開発する際にこんなフローを組みたいときがあります。

1)親ウインドウから何か操作するためにカードウインドウを表示
2)なにかしらのレコード操作
3)カードウインドウを閉じて、操作したレコード情報を親ウインドウに反映

こんな感じですね。
問題は1)2)3)の間。ウインドウを跨ぐ間にどうやって情報をうけわたすか、というところ。

複数カードビューを開いた時を懸念した。

スクリプトの一時停止を使わずに、複数のスクリプト で構成する場合。
スクリプト間で情報を繋ぐにはグローバル変数で受け渡しますかね。
ただ、複数のウインドウでカードウインドウを開いた時に、同じグローバル変数を使ってしまうと値の上書きが起こります。
「ウインドウ変数」みたいなものがあればいいのですが、そういうものはありません。

ウインドウに情報を入れ込む形で対応。

ちょっと悩みましたが、

「ウインドウ名に、文字列色々放り込んでしまおう」

という解決を思いつきました。ウインドウ名に「編数名=値」みたいな感じで情報を記載し、それをつなげて一時的に保持しよう、というやり方です。
カードウインドウではウインドウ名は表示されないので、ちょうど良い、とおもったのですが…。

PCは問題ないが、FileMaker Goではウインドウ名が表示されてしまう。

これ、PCではよかったのですが、FileMaker Goではカードウインドウでもウインドウ名が表示されますね。
昔からそうだったかな?と首を捻りましたが、そうなっている以上は仕方がない。
別の手を考えることにします。

良いアイディアとおもったのですが、こういう隙間をつくアイディアならではのあるあるかもしれませんね。


PCでは基本的に問題なし


FileMaker Goではここににカードウインドウ名が表示


グローバル変数に戻す予定

LET関数でなんとかなるかな、とかいろいろ考えたのですが、今回の実装はスクリプト内部だけの問題ではなく、レイアウトやフィールドその他も関連してくる(DRYにしたい)ので、ちょっともろもろ面倒がある。

なのでひとまず、グローバル変数での実装に戻す予定です。
カードウインドウの場合ひらきっぱなしっていうシチュエーションはまずないので。
最初カードウインドウがひらいたときにフラグを立てて、その間は別のカードウインドウを開くのは待ってもらう形にしようかと思います。

その実装して運用しつつ、何か新しい手段を考えます。


関連記事

この記事のハッシュタグに関連する記事が見つかりませんでした。

最新記事

アーカイブ