C#運行後關閉JMP我正在嘗試使用簡單的C#程序啟動插件(以及其他一些東西)。
它很有效,問題在於。 如果JMP尚未打開,則一旦運行完畢,JMP就會退出。 如果我不需要,我真的不想讓控制台保持打開狀態。 是否有一個命令會在執行後將其保持打開狀態?
Re:C#運行後關閉JMP如果在應用程序對像上使用“EnableInteractiveMode(True)”,則將啟用“退出”菜單項,您無需通過“任務管理器”終止該過程。
Brian Corcoran
JMP開發
Re:C#運行後關閉JMP我做了一些測試,如果您使用的是Windows窗體應用程序與控制台應用程序,則行為會有所不同。我假設你正在使用基於你的OP的控制台應用程序。我之前的帖子基於使用Windows窗體應用程序。
如果你有一個控制台應用程序,那麼執行類似myJMP.ShowStartupWindow()的操作應該會在程序完成執行時阻止JMP關閉。
該方法將打開JMP並在程序完成執行後保持打開狀態。
static void Main(string[] args)
{
JMP.Application myJMP;
myJMP = new JMP.Application();
myJMP.Visible = true;
myJMP.ShowStartupWindow();
}
但是,這種方法存在一個問題。您需要在任務管理器中終止jmp.exe,因為Exit JMP菜單項已禁用。(實際上,我之前提供的代碼也有這個問題。)

編輯09MAR17(面向未來的人):
我已經意識到我的原始評論(上面或下面,取決於你在哪裡閱讀)是正確的,這篇文章上面的這篇文章中的信息不能一直有效。下面是我提出的一個解決方法,它創建一個虛擬表並關閉它以使JMP保持打開狀態。我還補充說 @briancorcoran 建議使用myJMP.EnableInteractiveMode(true)啟用'Exit JMP'菜單項。
static void Main(string[] args)
{
JMP.Application myJMP;
myJMP = new JMP.Application();
myJMP.Visible = true;
myJMP.ShowStartupWindow();
myJMP.EnableInteractiveMode(true);
// Needed to keep JMP from automatically closing
JMP.DataTable dt = myJMP.NewDataTable("test");
myJMP.RunCommand(@Close(Data Table("test""), NoSave)");
}
@vince_faller ,僅供參考
Re:C#運行後關閉JMP很高興知道。 我可以給它一個虛擬變量嗎?
Re:C#運行後關閉JMP如果除了JMP.Application之外沒有任何引用,JMP將關閉。
在下面的示例中,JMP將保持打開狀態,因為我有一個JMP數據表的引用。
JMP.Application myJMP;
JMP.DataTable dt;
myJMP = new JMP.Application();
myJMP.Activate();
myJMP.Visible = true;
myJMP.ShowStartupWindow();
myJMP.RunCommand(@Open("$SAMPLE_DATA\Big Class.jmp"")");
dt = myJMP.GetTableHandleFromIndex(1);
Re:C#運行後關閉JMP剛試過JMP 13中的C#自動化示例;在關閉示例和IDE之後,它使JMP運行。
打開C#app,然後按按鈕自動執行JMP
關閉C#app,JMP保持打開狀態
我想這是一個存在的證明,你可以做你所要求的,但我不確定是什麼使它工作。我確實遇到了關於發布接口的評論 http://stackoverflow.com/questions/18154315/excel-process-not-closing 對於想要相反行為的人。