应用程序对话框 ^TABLENAME 参考亲爱的社区,
我已经苦苦挣扎了一段时间,试图在应用程序对话框标题中填充对话框 ^TABLENAME 引用。
似乎它只对我的应用程序启动时已经加载的 Current DataTable 做出反应。
但这实际上是Dialog1的目的,选择打开什么数据表,从无到有:

这里的问题是,即使 Dialog1 脚本以打开选定的数据表结束,Dialog2 标题 TABLENAME 仍然为空:

我已经在 Dialog1 脚本的末尾尝试了几种语法,没有任何变化:(
OnNext1 = Function( {},
file_path = FilePath << GetText();
If ( file_path != "",
//IST Text File
dt = Open(
file_path,
...
);
dt << CurrentDataTable();
CurrentDataTable( dt );
Dialog2 << CreateInstance( dt );
}关于如何在对话框标题中将我的“dt”数据表推送到此 ^TABLENAME 引用的任何建议?
谢谢
数据表其他脚本回复:应用程序对话框 ^TABLENAME 参考非常感谢丹,
超过500次浏览后第一次解决回复必须接近记录!

我还找到了如何避免对应用程序名称进行硬编码:
(thisModuleInstance << GetBox) << SetWindowTitle( (thisApplication << GetName) || " - " || (dt2 << GetName));
它现在按预期工作正常。
干杯!
回复:应用程序对话框 ^TABLENAME 参考你好Stéphane - 不幸的是,Application Builder 中的 ^TABLENAME 替换仅设计用于当前数据表。Application Builder 在初始化时解析所需的数据表。在应用程序启动时允许一个表来自当前数据表,其余表要么通过名称、通过文件标识,要么通过脚本动态分配。数据表对于应用程序是全局的,因此没有与每个模块关联的表。
幸运的是,有一种直接在 Dialog2 模块的脚本中设置标题的简单方法。在调用“thisModuleInstance << Create Objects”时创建窗口。在该行之后,您可以添加如下内容:
(thisModuleInstance << Get Box) << Set Window Title("IST Analyser - " || (dt << Get Name));
在哪里dt是数据表的 JSL 符号的名称,如 Dialog2 模块中所定义。我希望这有帮助!