Fenêtres cachéesBonjour, j'ai un problème avec les fenêtres JMP qui s'ouvrent derrière d'autres applications (non JMP) lorsque j'exécute un de mes compléments. La séquence d'étapes suivante illustre le problème tel qu'il se produit sur mon ordinateur portable :
- J'ouvre JMP et j'ouvre également un ensemble de données JMP.
- J'ouvre maintenant une autre application (par exemple PowerPoint) et je l'agrandis (de sorte que ni la fenêtre d'accueil de JMP ni la fenêtre contenant l'ensemble de données ne soient immédiatement visibles).
- Je fais quelque chose dans PowerPoint (par exemple modifier une diapositive ou autre) mais je souhaite ensuite revenir à mon analyse dans JMP. Alors en laissant PowerPoint ouvert et agrandi, je passe ma souris sur l'icône JMP en bas de l'écran et je sélectionne la fenêtre contenant l'ensemble de données que je souhaite analyser. Cette fenêtre se trouve désormais au-dessus de PowerPoint (bien que la fenêtre d'accueil de JMP soit toujours masquée derrière Power Point).
- Je souhaite maintenant exécuter mon complément, je le sélectionne donc dans le menu en haut de la fenêtre de l'ensemble de données. La première chose que fait mon complément est de présenter une fenêtre de dialogue modale, m'invitant à sélectionner les colonnes de ma table de données que je souhaite analyser, après quoi je clique simplement sur le bouton "OK" pour continuer. Lorsque j'appelle le complément, la fenêtre de dialogue modale apparaît effectivement... mais celui-ci ainsi que la fenêtre contenant l'ensemble de données disparaissent immédiatement derrière PowerPoint (donnant l'impression à l'utilisateur que l'application vient de planter).
Je remarque que si au lieu d'ouvrir le complément à partir de la fenêtre de l'ensemble de données, j'amène la fenêtre d'accueil de JMP au premier plan. d'abord , puis exécutez le complément depuis l'une ou l'autre fenêtre, le problème ne se produit pas (ou pour être strictement précis, la fenêtre de données disparaît toujours derrière PowerPoint, mais la fenêtre de dialogue modale reste en haut - et les résultats de l'analyse apparaissent ensuite en haut également).
je pense que la solution pourrait consiste à insérer un script de démarrage d'une seule ligne dans le complément qui fait de la fenêtre d'accueil JMP la fenêtre actuelle (c'est-à-dire en la déplaçant devant toute autre application ouverte) avant de commencer l'analyse, mais je note que la fonction Obtenir la liste des fenêtres n'inclut pas la fenêtre d'accueil JMP dans la liste - je ne peux donc pas la référencer de cette façon.
Quelqu'un peut-il me suggérer comment résoudre ce problème ? (Je pourrais bien sûr simplement dire à tous les utilisateurs de ne pas utiliser le complément de la manière décrite ci-dessus, mais je préférerais de loin éviter que le problème ne se produise via des scripts, si possible.)
Merci beaucoup.
Partager et communiquer les résultatsRe : Fenêtres cachéesJ'ai maintenant résolu le problème des fenêtres masquées, je marquerai donc ce problème comme résolu lorsque je publierai ceci.
Juste pour mémoire, le problème était dû au fait que la table de données avait été minimisée (ce que j'avais fait uniquement à des fins esthétiques) avant l'appel de la boîte de dialogue de sélection de colonne. Si quelqu'un rencontre un problème similaire à l'avenir, le court script suivant peut aider à en identifier la cause. Cela devrait être compilé dans un complément, puis appelé depuis le menu principal au-dessus de la table de données ( pas depuis la fenêtre d'accueil de JMP) une fois la table de données ouverte depuis la barre des tâches Windows.
Names Default to Here(1);
fnSelectColumn = function({dt}, {default local},
new window("Column Selection", << modal(1),
clb = ColListBox(dt, all, Output = (clb << get selected), << set max selected(1))
);
Output
);
expr_Load_DT = expr(
dt = current data table();
if(type(dt)=="Empty",
dt = open(PickFile( "Select the JMP data set to be analyzed:",, {"JMP Data Files|JMP"} ));
)
);
/*
================
START OF PROGRAM
================
*/
Intro = "There's another full-screen Windows application open right now, and you've just loaded the data table you can see ";
Intro = Intro || "behind this window from the Windows Taskbar, prior to selecting a column for analysis.\!r\!rHowever, the ";
Intro = Intro || "modal window containing the column selection dialog will disappear behind the other Windows application if the ";
Intro = Intro || "data table is minimized prior to the column selection dialog being displayed. (If it hasn't, there's no problem.)";
MinimizeYN = 1;
new window("Minimize the Data Table?", << modal(1),
VListBox(
HCenterBox(BorderBox(TextBox(Intro, << padding(5)), << padding(10), << sides(15))),
SpacerBox(size(0, 10)),
rb = RadioBox({"Minimize the data table after closing this window", "Don't minimize the data table after closing this window"},
MinimizeYN = (2 - (rb << get))
)
)
);
expr_Load_DT;
dt << minimize window(MinimizeYN); // THIS line is the one that causes the problem;
Output = fnSelectColumn(dt);
Caption("(You selected \!"" || Output[1] || "\!")"); wait(1.5); caption(remove);
/*
================
END OF PROGRAM
================
*/
Re : Fenêtres cachéesSalut IH,
Juste pour confirmer, j'utilise ceci sous MS Windows (je ne sais pas si le même problème est apparent sur un Mac) et au cas où la version serait pertinente, j'utilise JMP 15.0.2, donc le mien est antérieur à votre JMP. 15.2.1 - mais j'ai accès à JMP 16EA version 8, et j'y constate également le même comportement.
En un mot, si la fenêtre d'accueil de JMP est cachée derrière une application Windows non-JMP entièrement optimisée (je l'appellerai simplement "X", car cela ne semble pas faire de différence de quelle application il s'agit) lorsque l'ajout -in est exécuté, toute fenêtre de sortie générée par le complément est également masquée derrière X. Je déduis de ce qui précède que si je pouvais trouver un moyen de mettre immédiatement la fenêtre d'accueil de JMP au premier plan chaque fois que le complément est exécuté, le problème serait résolu.
J'ai essayé de comparer la structure du addin.jmpcust que vous avez publié avec celle générée par le Add-In Builder que j'ai utilisé, mais la mienne est beaucoup plus longue et je ne sais pas exactement ce que je recherche, alors je Je suppose que je vais devoir créer une version du complément réduite jusqu'à l'os, puis demander à nouveau de l'aide - en joignant une copie du script JSL - lorsque je l'aurai fait.
Je suis parfaitement conscient qu'un problème comme celui-ci est presque impossible à diagnostiquer s'il ne peut pas être reproduit. Je ferai donc rapport lorsque j'aurai quelque chose de plus concret à poursuivre.
Merci beaucoup pour votre aide.
Re : Fenêtres cachéesJe n'ai pas pu reproduire cela sur JMP 15.2.1 sous Windows.Voici comment j'appelle la plupart des fenêtres dans les menus des compléments. Peut-être y a-t-il quelque chose de différent de ce que vous utilisez ?
Dans addin.jmpcust :
<jm:command>
<jm:name>ABOUT</jm:name>
<jm:caption>About</jm:caption>
<jm:action type="path">$ADDIN_HOME(com.domain.subdomain)\addinAbout.jsl</jm:action>
<jm:icon type="none"></jm:icon>
</jm:command>
et quelque part dans le fichier addinAbout.jsl se trouve une fonction New Window().