みんなに優しく、解りやすくをモットーに開設しています。 以下のルールを守りみんなで助け合いましょう。
1.ファイルメーカーで解らない事があればここで質問して下さい。 何方でも、ご質問・ご回答お願いします。 (優しく回答しましょう)
You are not logged in.
Pages: 1
FMP15・16・17 で使用しています。
最近、Windows7から10にアップデートしたのですが、Get ( システムバージョン )の判定が変わってしまいました。
今までは、
If[ Get ( システムバージョン ) ≥ 6 ]
の判定でVista以前かどうか判別していたスクリプトがあるのですが、Win10では上記の判定は「0」が返ります。
すぐに、GetAsNumber関数で囲めば正しい判定になることがわかったのですが、
全てのスクリプトをチェックしてGet ( システムバージョン ) にGetAsNumberで囲む作業をしなければならないのでしょうか?
これは、ただの不具合でバージョンアップでもどるのでしょうか?
現在、手元にWin10以前の機種はすべてなくなりました。
検証する方法がありません。
私の勘違いでしたらもうしわけありませんが
どなたかアドバイスお願いします。
Offline
Get ( システムバージョン ) の戻り値はテキストです。
数字として評価したい場合は原則として GetAsNumber で数値化する必要があります。
いままでは偶然なんとなーくうまく動いていたということです。
今後の不具合を防ぐためには気付けたのがチャンスと考えて処理されることをおすすめします。
Get ( システムバージョン )
https://fmhelp.filemaker.com/help/18/fm … rsion.html
Offline
FileMakerの不具合ではないと思います。
Get(システムバージョン)の戻り値はテキスト型です。
すなわち10.0という小数値ではなく、"10.0"というテキストが返ります。
https://fmhelp.filemaker.com/help/15/fm … rsion.html
If[ Get ( システムバージョン ) ≥ 6 ]
という判定は、システムバージョンが1桁だったから偶然うまく動いていましたが、
Win10以降の環境ではお気づきの通りGetAsNumberで数値に変換が必要と思います。
#って、投稿したらMozさんと回答がカブりました(^^ゞ
Last edited by koeda (2020-01-25 18:29:32)
Offline
他にも検証の必要性があれば、仮想マシンを構築してみるのも良いかもしれませんね。
Offline
みなさま
早速の返信ありがとうございます。
戻り値がテキストということで理解できました。
たまたまうまく動いていただけなのですね。がっくしです。しかし勉強になりました。
調べたら、Get( システムバージョン ) だけでなく、Get( アプリケーションバージョン ) も戻り値がテキストだっとことを知りました。
スクリプトを1つずつ調べて、これら2つの関数にGetAsNumberを付けていくことにします。
良い勉強になりました。ありがとうございます。
Offline
ご存知かもしれませんが、データベースデザインレポートを検索することで、ある程度作業を簡略することはできるかと思います。
Pages: 1
[ Generated in 0.009 seconds, 9 queries executed - Memory usage: 509.52 KiB (Peak: 515.41 KiB) ]