應用程序對話框^ 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參考你好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模塊中所定義。
回复:應用程序對話框^ TABLENAME參考非常感謝Dan,
超過500次查看後,第一個解決問題的回复必須接近記錄!

我還發現瞭如何避免對應用程序名稱進行硬編碼:
(thisModuleInstance << GetBox) << SetWindowTitle( (thisApplication << GetName) || " - " || (dt2 << GetName));
它現在可以按預期工作。
乾杯!