みんなに優しく、解りやすくをモットーに開設しています。 以下のルールを守りみんなで助け合いましょう。
1.ファイルメーカーで解らない事があればここで質問して下さい。 何方でも、ご質問・ご回答お願いします。 (優しく回答しましょう)
You are not logged in.
FM2023です。
スクリプト一時停止し、ユーザーに入力させたあと再開するボタンについてです。
当初、ボタンには単一ステップの「スクリプト再開」を指定し、こちらは当然スクリプトが再開していました。
その後ボタンを二つに分け、押したボタンによって再開後の動きを分岐させる必要が出てきました。
思いついた方法は、それぞれのボタンに「変数を設定」と「スクリプト一時停止/続行」の2行のスクリプトを指定し、押した後は変数を見て分岐させる・・という方法でしたが、うまく動きません。
親スクリプトに戻ってきた時にスクリプト一時停止に戻ってきてしまい、そこで止まってしまうような感じです。
試しに「スクリプト一時停止/続行」の1行だけでやってみても再開してくれません。
この部分はLoopの途中で、カウントダウンのカウンターが数えているので、スクリプトをそれぞれのボタンに分けることはできません。
これを解決する方法はありますでしょうか。
Offline
2個のボタンは、それぞれ別のスクリプトを走らせるように設定し、ボタンの設定で親スクリプトを再開させればいいでしょう。
ユーザーに入力させる項目が2個までなら、カスタムダイアログを使った方が楽だと思います。
Offline
Shinさん
最後に書きましたようにLoopの中で巡ってきた回数を全体で数えているため、別のスクリプトに分けることができません。
また、入力させる項目が多いのでカスタムダイアログも使えません。
Offline
スクリプトの作り方次第では。
https://www.dropbox.com/scl/fi/xw7tu5og … dbwjv&dl=0
Last edited by Shin (2023-10-29 08:56:18)
Offline
「スクリプト再開」はヘルプの説明が不足でややこしくなってますね。
昔は、それはスクリプトステップとしては存在せず、ボタンのオプションでだけ設定できるものでした。
最近のバージョンでも、そういうステップはヘルプには存在しません。
ボタン設定の「単一ステップ」で、「ボタン処理」のダイアログに入ると「スクリプト再開」を選択できます(このリストには「スクリプト一時停止/続行」は存在しない。これは実行中のスクリプトはどんどん進んでいくのでボタンで一時停止しようとしてもどこで止まるかわからないので当然である)が、「OK」でそのダイアログを閉じて「ボタン設定」のダイアログに戻ると「スクリプト一時停止/続行」に変わってしまいます。
ただし、実際にはボタンでスクリプトが再開できます。
この「単一ステップ」をスクリプトに変換すると、通常の「スクリプト一時停止/続行」と同じで、「制限時間なし」か「時間設定」のオプションしかありません。停止中のスクリプトを再開する機能はありません。
しかし、「ボタン設定」のダイアログの下の方に隠しオプションがあって、「現在のスクリプト~」の4種類の選択の中に「再開」があります。
このオプションと、「変数を設定」のスクリプトをボタンに設定すれば、(グローバル)変数を設定して停止中のスクリプトを再開する機能になります。
色々やってみて最初は、変換されたステップの停止時間を0秒にして「できた!」と思ったんですが、停止しないのでこのステップは不要でした。
結局「スクリプト一時停止/続行」はスクリプトの再開とは全く関係ありません。
「「ボタン設定」のダイアログに戻ると「スクリプト一時停止/続行」に変わってしまいます。」のあたりが、ステップを統一しようとして失敗した名残のような感じです。あるいは元々古いバージョンから状況によって同じステップの動作が切り替わっていたのかもしれませんが...
ボタンには、機能が2個あるのを、けっこう忘れられているようです。
一つは、スクリプトを実行する機能で、1ステップのものでしたら、ボタンそのものに定義できます。または、別に定義したスクリプトを起動する動きになります。
もう一つが、停止しているスクリプトのコントロールです。一つ目の別のスクリプトを起動する動作の時にオプションとして設定しますが、全スクリプトを終了、現在のスクリプトを終了、現在のスクリプトを一時停止、現在のスクリプトを再開 が選択でき、現在のスクリプトを一時停止 がデフォルトで、これは実質そのままの状態を保持します。
このオプション設定でコントロールすれば、現在停止中のスクリプトには何の影胸もなく、別のスクリプトを走らせて、再開する事ができます。
Last edited by Shin (2023-10-29 11:52:00)
Offline
ボタンそのものに現在のスクリプトを再開させる機能がオプションで付いているとは初めて知りました!
ボタンのオプションはカーソルを手の形にするだけだと思っていたので驚きです。
おかげさまで最初に作ったスクリプトが目論見通りに動いてくれてます。
Shinさん、サンプルファイルまで作ってくださって本当にありがとうございました。
Offline
[ Generated in 0.008 seconds, 9 queries executed - Memory usage: 560.66 KiB (Peak: 579.5 KiB) ]