您知道為什麼我的腳本在手動運行時可以完全運行,但在從工具欄中的命令運行時卻不起作用嗎?嗨,大家好,
我有這個腳本,當我手動運行它時,它可以 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>自動化和腳本編寫回复:您知道為什麼我的腳本在手動運行時可以完全運行,但在從工具欄中的命令運行時卻不起作用嗎?你好@淚之冠,
當我過去遇到這些問題時,我發現在循環之前和每個循環結束時添加 Wait (0.1) 可以使其工作。就你的情況而言,我並沒有明顯懷疑這種緩慢的行為。我會在每個之後放一個 Wait (0.1) ;在最後一個循環中看看它是否有效
這解決了有時 jmp 會在不確保上一步已結束的情況下移動到下一步的問題。
回覆:您知道為什麼我的腳本在手動運行時可以完全運行,但在從工具列中的命令運行時卻不起作用嗎?@淚之皇冠-- 太晚了,我想,但嘗試添加
TabData << RunFormulas;
代替評論。 JMP 的列公式在 JMP 空閒時運行,因此一次運行一個部分將允許公式進行計算。 新增等待語句可能會讓公式有足夠的空閒時間來完成,但不可能選擇完美的等待時間。 <
Col Std Dev(As Column(ListDelta[l]))
不明白。
回覆:您知道為什麼我的腳本在手動運行時可以完全運行,但在從工具列中的命令運行時卻不起作用嗎?嗨@Craige_Hales ,我們應該準確地添加
TabData << RunFormulas;
這則評論之後?
//STARTING FROM HERE THE SCRIPT DOES NOT RUN IN TOOLBAR MODE
如果是的話,已經做了但沒有工作:(
回覆:您知道為什麼我的腳本在手動運行時可以完全運行,但在從工具列中的命令運行時卻不起作用嗎?(是的,這就是我的意思。)
我正在猜測。
當失敗時,您是否在日誌視窗中收到訊息?您可以新增 print() 語句來隔離故障。
我的下一個猜測是當前數據表()沒有按照您的預期進行。嘗試使用明確資料表範圍而不是依賴 CurrentDataTable。
依賴 CurrentDataTable 是一種脆弱的建置程式碼的方式,因為
- 當另一個表成為當前表時,它可能會發生變化(這似乎可能會打開一個新視窗)
- 它在不同的上下文中可能會有所不同(這似乎與正在使用的工具列上下文有關)
另一件要嘗試的事情是:取消選取工具列中的“在此處使用命名空間”,看看它是否有效。這也會告訴我們一些事情。