C # schließt JMP nach dem AusführenIch versuche ein Addin (und ein paar andere Dinge) mit einem einfachen C # -Programm zu starten.
Es funktioniert super, das Problem zu sein. Wenn JMP noch nicht geöffnet ist, wird JMP beendet, sobald die Ausführung abgeschlossen ist. Ich möchte die Konsole nicht wirklich offen halten, wenn ich nicht muss. Gibt es einen Befehl, der es nach der Ausführung einfach offen lässt?
Re: C # schließt JMP nach dem AusführenWenn Sie für das Anwendungsobjekt "EnableInteractiveMode (True)" verwenden, wird das Menüelement "Exit" aktiviert, und Sie müssen den Prozess nicht über den Task-Manager beenden.
Brian Corcoran
JMP-Entwicklung
Re: C # schließt JMP nach dem AusführenIch habe ein paar weitere Tests durchgeführt und es sieht so aus, als ob sich das Verhalten unterscheidet, wenn Sie eine Windows Forms-Anwendung und eine Konsolenanwendung verwenden. Ich gehe davon aus, dass Sie eine auf Ihrem OP basierende Konsolenanwendung verwenden. Mein vorheriger Beitrag basierte auf der Verwendung einer Windows Forms-Anwendung.
Wenn Sie über eine Konsolenanwendung verfügen, sollten Sie beispielsweise JMP.ShowStartupWindow () verwenden, um zu verhindern, dass JMP geschlossen wird, wenn das Programm ausgeführt wird.
Diese Methode öffnet JMP und hält es offen, nachdem das Programm die Ausführung abgeschlossen hat.
static void Main(string[] args)
{
JMP.Application myJMP;
myJMP = new JMP.Application();
myJMP.Visible = true;
myJMP.ShowStartupWindow();
}
Es gibt jedoch ein Problem mit dieser Methode. Sie müssen die Datei "jmp.exe" im Task-Manager beenden, da das Menüelement "JMP beenden" deaktiviert ist. (Eigentlich hat auch der vorige Code, den ich zur Verfügung gestellt habe, dieses Problem.)

EDIT 09MAR17 (Für Menschen der Zukunft):
Ich habe festgestellt, dass mein ursprünglicher Kommentar (oben oder unten, je nachdem, wo Sie dies lesen) korrekt war und die Informationen in diesem Beitrag über diesem Text nicht immer funktionieren. Im Folgenden finden Sie eine Problemumgehung, mit der ich eine Dummy-Tabelle erstellt und diese geschlossen hat, damit JMP geöffnet bleibt. Ich habe auch hinzugefügt @briancorcoran Vorschlag zur Verwendung von myJMP.EnableInteractiveMode (true) zum Aktivieren des Menüelements '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 Zu Ihrer Information
Re: C # schließt JMP nach dem AusführenGut zu wissen. Kann ich ihm einfach eine Dummy-Var geben?
Re: C # schließt JMP nach dem AusführenJMP wird geschlossen, wenn Sie außer JMP.Application keinen Hinweis auf etwas anderes haben.
Im folgenden Beispiel bleibt JMP geöffnet, da ich auf eine JMP-Datentabelle verweisen kann.
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 # schließt JMP nach dem AusführenHabe gerade das C # -Automationsbeispiel in JMP 13 ausprobiert; Nach dem Schließen des Beispiels und der IDE wurde JMP ausgeführt.
Öffnen Sie die C # -App, und drücken Sie die Taste, um JMP zu automatisieren
Schließen Sie die C # -App, JMP bleibt geöffnet
Ich denke, das ist ein Existenzbeweis, dass Sie tun können, was Sie wollen, aber ich bin mir nicht sicher, warum es funktioniert. Ich bin auf einen Kommentar zum Freigeben von Schnittstellen gestoßen http://stackoverflow.com/questions/18154315/excel-process-not-closing für jemanden, der das gegenteilige Verhalten wollte.