你好,
我認識到這可能是模糊的,我道歉,因為我沒有完全自由地展示我正在操縱的所有數據,但我會盡力提供盡可能多的信息。
我已經提供了一個JMP加載項來執行4PL回歸。此加載項是JMP文件和可執行文件的組合。我沒有可執行文件的訪問權限(無法編輯此文件)。加載項的JMP文件為可執行文件提供數據清理,然後調用可執行文件。 可執行文件與打開的文件交互,它只是用4PL數據更新文件,就是這樣。
我的任務是自動運行添加的過程,我們有幾個輸入文件,我們將每天運行。我計劃採取的方法是獲取運行可執行文件的文件並將其作為一個函數處理/包裝,然後我將遍歷我的數據表列表。
我是以分段方式做到的:
- 我首先確保可執行文件正在處理輸入數據。
- 然後我編寫了函數和一個單獨的腳本窗口(“包裝器”)來選擇數據表並將其傳遞給函數。我為一個文件做了這個,它工作正常。
下面是我調用函數的“包裝器”,下面的代碼工作正常:
include("$ADDIN_HOME(**path I cannot share**)\DRIA_func.jsl");
test1 = data table("First Data Table for Script");
var_1 = DRIA_func(test1);但是,一旦運行,上面的腳本窗口關閉,我無法控制這個,我無法阻止它。如果我要添加第二個數據表,則在日誌中會出現以下錯誤:
In the following script, error marked by /*###*/
Include( "$ADDIN_HOME(**path I cannot share**)\DRIA_func.jsl" );
test1 = Data Table( "First Data Table for Script" );
var_1 = DRIA_func( the_table_test1 );
test2 = Data Table( "Second Data Table for Script" );
var_2 = DRIA_func( the_table_test2 ) /*###*/;
我不知道為什麼腳本窗口正在關閉,但我想這會導致錯誤。
我正在變成一個函數的JMP腳本,如果我自己運行它,它會向數據表提供正確的結果,但然後強制關閉。
我唯一的參考是這個社區鏈接:
https://community.jmp.com/t5/Discussions/C-closes-JMP-after-running/td-p/35678
從我收集的內容來看,這是C#編碼的一部分,而不是我可以通過JMP緩解的東西。我是這方面唯一的資源,在我得出可執行文件的問題之前,我想問一下這裡的專家!
謝謝你的幫助!