此代码的目的是获取用户输入以生成报告。用户将选择月份和类型。代码部分工作如图所示,但一旦我尝试将其转换为驻留在另一个 JSL 文件(用“include”调用)上的函数,它就会失败。我无法获取返回的两个变量,并且总是收到“名称未解析”错误。我知道 Month 作为列表返回,并且类型作为字符串返回(?)。我缺少什么以及如何获得月份和函数返回的类型。
谢谢!
Names Default To Here( 1 );
monthLst = {"may", "June", "July"};
nw = New Window( "Select Month",
<<MODAL> ","会计", "财务"}, ), 间隔框( size( 10, 10 ) ), H 列表框( 对齐( 左 ), 间隔框(), 按钮框( "取消", bbCancelled = 1 ),按钮框( "确定", bbCancelled = 0; selectMo = tb2 << 被选中; rcb = cb << 被选中; ) ) ), 间隔框( size( 50, 10 ) ) ), 间隔框( size( 25, 30 ) ) ); If( bbCancelled == 1, Stop(), If( selectMo == {}, //错误模态 ::dialogModalNoEdit( "Please select a Month." ); //递归调用模态窗口函数 SelExpModal( MonthLst ); , //如果选择了值则返回结果 //Return(selectMo[1] ), ) ); Print(selectMo); Print(rcb);</MODAL>如果我理解正确..
如果您正在创建一个函数,则必须在函数执行后返回要使用的值(除非您想使用全局变量)。
在这种情况下,您可以像这样返回它们(关联数组可能会更好):
return(selectMo, rcb);
在包含该脚本的脚本中,您可以访问它们:
Names Default To Here(1);
Include("MonthTypeFunc.jsl");
retVal = MonthTypeWindow();
show(retVal[1],retVal[2]);附加的示例脚本。 放在同一个文件夹中并运行 Main.jsl。