应用当前数据表亲爱的社区,
在您的帮助下,以及许多搜索和迭代过程中,我现在即将结束我的第一个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 List Box。
- 由于问题1,目前它仍然处于空缺状态
- 加上以下错误:
- 在访问或评估“发送”,ColList1 << / * ### * /背景色(2147483647)/ * ### * /时,发送Expected Scriptable Object 22次
在访问或评估“发送”,ColList1 << / * ### * /设置数据类型(“ numeric”)/ * ### * /时,发送3个“期望脚本对象”
发送期望脚本对象以访问或评估'Send',ColList1 << / * ### * / Get Items / * ### * /
- 无论我在Dialog2上发生什么,如果我现在按“确定”,我都会收到以下错误,与模块“ Report1”中使用的计算出的自定义分位数变量有关:
- 无效的矩阵令牌。
69行41列:... les((Percent1 / 100),[►(Percent1 / 100),(Perc ...
数据表脚本编写回复:应用程序当前数据表将数据表引用保留在变量中(在您的示例中为dt),并始终使用dt:col(等)引用列。 不要依赖当前的数据表;当用户单击任何表时,或者在打开任何新窗口时,当前数据表都会更改。
错误 ”发送期望脚本对象”可以更好地说明自己。 @audrey_shull 。 <<操作符是send操作符。 左手边应该是一个对象,右手边应该是要处理的消息。
myobject << message( ... );
该错误表示左侧不是接受消息的对象(可编写脚本的对象)。 “ myobject”不是您所期望的。 尝试
show(myobject);
or
show(type(myobject));
了解发生了什么。
回复:应用程序当前数据表谢谢马克,
- 如果仔细查看“ Dialog1”脚本的末尾,您会看到我正在将“ dt”引用传递给“ Dialog2”,然后在代码中显式使用该引用。
- 这两者(而不是CurrentDataTable命令)似乎都不会填充“ “对话框2”标题字段中的“ ^ TABLENAME”全局引用。
- 我尝试使用“ ^ APPNAME-^ dt”,但随后将“ ^ dt”显示为原始字符串

- 我还尝试添加“ TABLENAME = dt;”。在“ Dialog2”“ OnModuleLoad”中,但Dialog2窗口标题中的任何更改:TABLENAME保持为空
- 在处理“脚本对象”错误时,我怀疑它与“ Dialog2”的ColList对象有关,该对象显然为空,并且该表在应用启动时尚未打开。
- 我想我必须在脚本中动态创建Col List Box才能解决此问题。
干杯!