2781_de-DE
C # Automatisierung, Problem beim Öffnen und Schließen der JMP-AnwendungHallo alle,
Ich hatte gute Erfolge bei der Verwendung von C # zur Automatisierung von JMP, aber beim Öffnen und Schließen der JMP-Anwendung tritt unerwartetes Verhalten auf.
Ich öffne JMP mit:
JMP.Application App;
app = new JMP.Application ();
Dies funktioniert, aber wenn ich eine Instanz von JMP bereits geöffnet habe und ausgeführt habe, wird es hijacken. Gibt es eine Möglichkeit, immer eine neue Anwendung zu erstellen?
Ich schließe mit:
app.CloseAllWindows ();
app.Quit ();
Wieder schließt dies, was ich geöffnet oder entführt habe. Gibt es eine Möglichkeit, den zu schließen, den ich geöffnet habe? Und wenn ich keine geöffnet habe, um nichts zu schließen?
Vielen Dank!
- Jeff
PS mit JMP Version 7.
Nachricht wurde bearbeitet von: vJeffRe: C # Automatisierung, Problem beim Öffnen und Schließen der JMP-AnwendungHallo Jeff:
Auch ich wunderte mich über dieses Verhalten und nachdem ich zu viel Zeit damit verbracht hatte, herauszufinden, wie
Um es klappen zu lassen, gab es auf und fragte die guten Leute bei JMP Tech, die natürlich die hatten
antworte sofort. Es verhält sich konstruktiv so (dh als einzelne Sitzung, mehrfach verwendbar)
Automatisierungsserver), und es ist relativ einfach, das andere Verhalten zu ändern, falls gewünscht (d. h.
Einzelsitzung für mehrere Sitzungen).
Ich wurde zur Antwort hier verwiesen:
Verwendungshinweis 11089: So aktivieren Sie JMP als Single-Use-Server für die Automatisierung
http://www.jmp.com/support/notes/11/089.html
"Traditionell wurde JMP als mehrfach verwendbarer Automatisierungsserver ausgeführt. "
Das ist wie bei MS Powerpoint
"... Um JMP als Einzelbenutzerserver zu aktivieren, ändern Sie den Registrierungsschlüssel ... \ Multiple -> ... \ Single "
Das ist wie bei MS Word und Excel
Siehe auch:
GetObject und CreateObject Verhalten von Office-Automatisierungsservern
http://support.microsoft.com/kb/288902
So erhalten Sie das Fensterhandle für einen Office-Automatisierungsserver
http://support.microsoft.com/kb/258511
Beispielcode in TCL (sehr ähnlich wie C #, Perl, Python usw.) Wählen Sie Ihr bevorzugtes Skriptwerkzeug aus.
Die Aufrufe an COM-Objekte sind ziemlich gleich.)
Default \ Multiple Verhalten
##################################
# ein Add-On-Paket in TCL laden, um einfachen Zugriff auf COM-Aufrufe zu ermöglichen
# in ActiveState TCL Distro enthalten http://www.activestate.com/activetcl/
# www.vex.net/~cthuang/tcom/
# wiki.tcl.tk/1821
Paket erfordert Tcom
# an eine bestehende Sitzung anhängen
setze jmp3 [:: tcom :: ref getactiveobject "JMP.Application"];
# fire up JMP (Erstellt eine neue JMP-Sitzung, falls noch keine vorhanden ist.) Wenn einer existiert,
dann hängt es an. Kann / kann keine Sekunde erstellen
set jmp [:: tcom :: ref createobject "JMP.Application"];
$ jmp -Methode sichtbar 1
Single Use Server für die Automatisierung
##################################
# fire up jmp (erstellt zwei unabhängige Sitzungen oder ein einzelner Aufruf erstellt eine neue Sitzung, falls eine vorhanden ist)
set thing1 [:: tcom :: ref createobject "JMP.Application"];
set thing2 [:: tcom :: ref createobject "JMP.Application"];
$ thing1 -Methode sichtbar 1
$ thing2-Methode sichtbar 1
# Beachten Sie die beiden getrennten Objektreferenzen "thing1" und "thing2". Sie können unabhängig voneinander gesteuert werden
Freundliche Grüße,
-Matt
Comments
There are no comments yet