此代碼的目的是獲取用戶輸入以產生報告。用戶將選擇月份和類型。程式碼部分工作如圖所示,但一旦我嘗試將其轉換為駐留在另一個 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。