スクリプトを手動で実行すると完全に実行されるのに、ツールバーのコマンドから実行すると機能しない理由をご存知ですか?こんにちは、みんな、
このスクリプトは手動で実行すると 100% 機能します。
ツールバーから(自動的に)実行すると、最後のセクションが実行されません。
なぜこれが起こっているのか考えていますか?
機能しなくなった点のスクリプトにコメントを追加しました。
//ここから開始すると、スクリプトはツールバー モードでは実行されません
//Script for GRR Anlaysis for Qual Data
names = {};
//prueba={};
RepeatabilityData = {};
ReproducibilityData = {};
GaugeRRData = {};
ParttoPartData = {};
NDCData = {};
Datos_table = Current Data Table();
For( i = 1, i <= N Col(), i++,
Insert Into( names, Column Name( i ) )
);
dlg1 = Dialog(
Title( "GR&R" ),
"Select Tests",
vlist( selectiontests = List Box( names ) ),
"Select Channel Column",
vlist( selectionchannel = List Box( names ) ),
"Select Category (Pre/Post) Column",
vlist( selectioncategory = List Box( names ) ),
"select Devices Number Column",
vlist( selectionSN = List Box( names ) ),
synch = Check Box( "Generate Journal", 0 ),
hlist( button( "OK" ), button( "Cancel" ) )
)
;
if (dlg1["Button"]==1,
column(dlg1["selectionchannel"])<<SET modeling="" type="">0.4,
ListDelta[l]<<SET property=""></SET></SET>自動化とスクリプト作成Re: スクリプトを手動で実行すると完全に実行されるのに、ツールバーのコマンドから実行すると機能しない理由をご存知ですか?こんにちは@CrownTears 、
以前にこれらの問題が発生したとき、ループの前と各ループの最後に Wait (0.1) を追加すると機能することがわかりました。あなたの場合、動作が遅いという明らかな容疑者はいません。それぞれの後に Wait (0.1) を入れるだけです。最後のループで動作するかどうかを確認してください
これにより、jmp が前のステップが終了したことを確認せずに次のステップに進むことがあるという問題が解決されます。
Re: スクリプトを手動で実行すると完全に実行されるのに、ツールバーのコマンドから実行すると機能しない理由をご存知ですか?@CrownTears -- 遅すぎると思いますが、追加してみてください
TabData << RunFormulas;
コメントの代わりに。 JMP の列式は JMP がアイドル状態のときに実行されるため、一度にセクションごとに実行すると式を評価できるようになります。 wait ステートメントを追加すると、式が完了するまでに十分なアイドル時間が確保される可能性がありますが、完璧な待機時間を選択することは不可能です。 <
Col Std Dev(As Column(ListDelta[l]))
それを理解していません。
Re: スクリプトを手動で実行すると完全に実行されるのに、ツールバーのコマンドから実行すると機能しない理由をご存知ですか?こんにちは@Craige_Hales 、正確に追加する必要があります
TabData << RunFormulas;
このコメントの後?
//STARTING FROM HERE THE SCRIPT DOES NOT RUN IN TOOLBAR MODE
「はい」の場合、すでに動作していましたが、動作しませんでした:(
Re: スクリプトを手動で実行すると完全に実行されるのに、ツールバーのコマンドから実行すると機能しない理由をご存知ですか?(はい、それが私が言いたかったことでした。)
推測です。
失敗したときにログ ウィンドウにメッセージが表示されますか? print() ステートメントを追加して、失敗を分離することもできます。
次に推測するのは、現在のデータ table() が期待どおりの動作をしていないということです。 CurrentDataTable に依存する代わりに、明示的なデータ テーブルのスコープを使用してみてください。
CurrentDataTable に依存してコードを構築する方法は脆弱です。
- 別のテーブルが現在のテーブルになると変更される可能性があります (新しいウィンドウが開く可能性が高いと思われます)
- コンテキストによっては異なる可能性があります (ツールバー コンテキストが使用されている場合はおそらくそうなるでしょう)
もう 1 つ試すこと: ツールバーの「ここで名前空間を使用する」のチェックを外して、機能するかどうかを確認します。それは私たちにも何かを教えてくれるでしょう。