您知道为什么我的脚本在手动运行时可以完全运行,但在从工具栏中的命令运行时却不起作用吗?嗨,大家好,
我有这个脚本,当我手动运行它时,它可以 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 是一种脆弱的构建代码的方式,因为
- 当另一个表成为当前表时,它可能会发生变化(这似乎可能会打开一个新窗口)
- 它在不同的上下文中可能会有所不同(这似乎与正在使用的工具栏上下文有关)
另一件要尝试的事情是:取消选中工具栏中的“在此处使用命名空间”,看看它是否有效。这也会告诉我们一些事情。