2781_it-IT
Automazione C #, aprire e chiudere l'applicazione JMPCiao a tutti,
Ho avuto un buon successo quando uso C # per automatizzare JMP, ma sto ricevendo un comportamento inaspettato su apertura e chiusura dell'applicazione JMP.
Apro JMP con:
App JMP.Application;
app = new JMP.Application ();
Funziona, ma se ho un'istanza di JMP già aperta e funzionante, la dirotterà. C'è un modo per generare sempre una nuova applicazione?
Chiudo con:
app.CloseAllWindows ();
app.Quit ();
Di nuovo, questo chiude ciò che ho aperto o dirottato. C'è un modo per chiudere quello che ho aperto? E se non l'avessi aperto, per non chiudere nulla?
Grazie!
--Jeff
PS Utilizzo di JMP versione 7.
Il messaggio è stato modificato da: vJeffRe: C # automation, problema di apertura e chiusura dell'applicazione JMPCiao Jeff:
Anch'io mi sono interrogato su questo comportamento e dopo aver passato troppo tempo a cercare di capire come
per farlo funzionare ha rinunciato e ha chiesto la buona gente @ supporto tecnico JMP, che, naturalmente, ha avuto il
rispondi immediatamente Si comporta in questo modo in base alla progettazione (vale a dire, come una singola sessione, multiuso
server di automazione), ed è relativamente semplice da cambiare con l'altro comportamento se lo si desidera (cioè,
monouso multisessione).
Sono stato indirizzato alla risposta qui:
Nota di utilizzo 11089: Come abilitare JMP come server monouso per l'automazione
http://www.jmp.com/support/notes/11/089.html
"Tradizionalmente, JMP ha funzionato come server di automazione multiuso .... "
Cioè, come MS Powerpoint
"... Per abilitare JMP come server singolo utente, modificare la chiave di registro ... \ Multiple -> ... \ Single "
Cioè, come MS Word ed Excel
Guarda anche:
Comportamento di GetObject e CreateObject dei server di automazione di Office
http://support.microsoft.com/kb/288902
Come ottenere l'handle di finestra per un server di Office Automation
http://support.microsoft.com/kb/258511
Esempio di snipptet di codice in TCL (molto simile a C #, Perl, Python, ecc. scegli il tuo strumento di scripting preferito,
le chiamate agli oggetti COM sono più o meno le stesse.)
Predefinito \ Comportamento multiplo
#################################
# carica un pacchetto aggiuntivo in TCL per consentire un facile accesso alle chiamate COM
# incluso in ActiveState TCL Distro http://www.activestate.com/activetcl/
# www.vex.net/~cthuang/tcom/
# wiki.tcl.tk/1821
il pacchetto richiede tcom
# si collega a una sessione esistente
imposta jmp3 [:: tcom :: ref getactiveobject "JMP.Application"];
# fire up JMP (Crea una nuova sessione JMP se non ne esiste già una. Se uno esiste,
quindi si attacca ad esso. Non / non posso creare un secondo)
imposta jmp [:: tcom :: ref createobject "JMP.Application"];
$ jmp -method Visible 1
Server monouso per l'automazione
#################################
# fire up jmp (crea due sessioni indipendenti o una singola chiamata crea una nuova sessione se ne esiste una)
set thing1 [:: tcom :: ref createobject "JMP.Application"];
set thing2 [:: tcom :: ref createobject "JMP.Application"];
$ thing1 -method Visible 1
$ thing2 -method Visible 1
# annota i due riferimenti agli oggetti separati creati, thing1 e thing2, che possono essere controllati in modo indipendente
I migliori saluti,
-Opaco
Comments
There are no comments yet