应用当前数据表亲爱的社区,
在您的帮助以及多次搜索和迭代下,我现在即将完成我的第一个 JMP 应用程序。
我仍然在几个问题上苦苦挣扎,为此肯定有人会提出简单的解决方案;):
- 在 Dialog1 脚本结束时,我打开用户选择的数据表
OnNext1 = Function( {},
file_path = FilePath << GetText();
If ( file_path != "",
//IST Text File
dt = Open(
file_path,
Columns(...)
...
);
...
CurrentDataTable( dt );
Dialog2 << CreateInstance( dt );
)- 但到达 Dialog2 时我永远不会正确设置 CurrentDataTable
- 填写文件路径字段并按“下一步”后可以看到:
Dialog2 倾斜 = ^APPNAME - ^TABLENAME
不显示表名称或另一个预加载的数据表名称:( 
- 据说下一个问题将由上一个问题解决:
- 在 Dialog2 脚本结束时,我愿意将以给定字符串开头的所有列附加到 Dialog2 Col 列表框。
- 目前它仍然非常空,肯定是由于问题#1
- 再加上出现以下错误:
- Send 在访问或评估 'Send' 时需要 22 次可编写脚本的对象,ColList1 << /*###*/Background Color( 2147483647 ) /*###*/
在访问或评估 'Send' 时发送期望可编写脚本对象 3 次,ColList1 << /*###*/Set Data Type( "numeric" ) /*###*/
Send 在访问或评估 'Send' 时需要可编写脚本的对象,ColList1 << /*###*/Get Items/*###*/
- 无论 Dialog2 上发生什么,如果我现在按“确定”,我会收到以下错误,与模块“Report1”中使用的计算的自定义分位数变量相关:
- 无效的矩阵标记。
第 69 行第 41 列: ...les( ( Percent1 /100 ), [►( Percent1 /100 ), ( Perc...
数据存取质量和工艺工程回复:应用程序当前数据表谢谢马克,
- 如果您仔细查看“Dialog1”脚本的末尾,您会发现我将“dt”引用传递给“Dialog2”,然后我在代码中显式使用它。
- 无论是这个命令,还是 CurrentDataTable 命令,似乎都没有填充“ “Dialog2”标题字段中的“^TABLENAME”全局引用。
- 我尝试了“^APPNAME - ^dt”,但“^dt”随后显示为原始字符串

- 我还尝试添加“TABLENAME = dt;”在“Dialog2”“OnModuleLoad”中,但 Dialog2 窗口标题没有任何变化:TABLENAME 仍为空
- 处理“脚本对象”错误时,我怀疑它与“Dialog2”的 ColList 对象显然为空,因为表在应用程序启动时尚未打开。
- 我想我必须在脚本中动态创建 Col 列表框才能解决这个问题。
干杯!
回复:应用程序当前数据表将数据表引用保留在变量中(示例中为 dt),并始终使用 dt:col (等)来引用列。 不依赖于当前数据表;当用户单击任何表时,并且可能在打开任何新窗口时,当前数据表会发生变化。
错误 ”发送期望可编写脚本的对象“可以更好地解释自己。 @奥黛丽_舒尔。 << 运算符是发送运算符。 左侧应该是一个对象,右侧应该是供该对象处理的消息。
myobject << message( ... );
该错误意味着左侧不是接受消息的对象(可编写脚本的对象)。 “myobject”不是您所期望的。 尝试
show(myobject);
or
show(type(myobject));
了解发生了什么事。