Ciao a tutti,
(Non sono sicuro al 100% se questo sia il forum giusto per questo - sentiti libero di spostare il post/indicarmi la giusta direzione come richiesto)
Forniamo un componente aggiuntivo JMP per diverse dozzine di utenti. Questo componente aggiuntivo mostra un paio di finestre di dialogo e ha funzionato senza problemi
ormai da diversi anni (abbiamo iniziato a sviluppare con JMP 14, e gli aggiornamenti a 15 / 16 non hanno posto alcun problema).
Con JMP 17 però due dei nostri utenti stanno riscontrando uno strano problema. Il componente aggiuntivo funziona di per sé, ma nelle finestre di dialogo che contengono
caselle di riepilogo, non possono selezionare alcun elemento: sembra che la casella di riepilogo non risponda ad alcun evento (né ai clic del mouse
né navigazione basata su tastiera).
Ecco una versione ridotta che presenta il problema (mostra due finestre di dialogo: una con una singola casella di riepilogo, una con due e un paio di pulsanti. Nessuno dei due funziona).
showSelectDialog = function({process_col}, {Default Local},
parameter_list = List ("Param1", "Param2", "Param3");
nw = New Window("Select Parameters",
<<MODAL>>", select_script),
Button Box("<< Remove", remove_script)
)
),
V List Box(
text Box("Selected parameters:", << set font style( "Bold" ) ),
select_list = List Box (selected_param_list, width(250), nlines(20));
)
),
hlistbox(
ok_button = button box("OK",
selected_param_list = select_list << Get Items;
),
cancel_button = button box("Cancel")
),
// Script to add parameters from paramlist to the select_list, [DOE-379] remove from paramlist
select_script = Expr(
toappend = paramlist << Get Selected;
for(i=1, i<= Nitems(toappend), i++,
if(!Contains(select_list << Get Items, toappend[i]),
select_list << Append(toappend[i]);
)
);
paramlist << remove selected;
);
// Script to remove parameters from the select_list, [DOE-379] add to paramlist
remove_script = Expr(
toremove = select_list << Get Selected;
for(i=1, i<= Nitems(toremove), i++,
if(!Contains(paramlist << Get Items, toremove[i]),
paramlist << Append(toremove[i]);
)
);
//[DOE-379] sort alphabetically
select_list << remove selected;
param_list = paramlist << Get Items;
param_list = Sort List (param_list);
paramlist << Set Items(param_list);
);
);
if(nw["Button"] != 1,
dialog_ok = 0,
dialog_ok = 1
);
return(Eval List({selected_param_list, dialog_ok}));
);
showSimpleDialog = function({process_col}, {Default Local},
parameter_list = List ("Param1", "Param2", "Param3");
nw = New Window("Select Parameters",
<<MODAL></MODAL></MODAL>
Ecco un video che mostra le finestre di dialogo disfunzionali:
JMP Version: 17.0.0 (622753)
OS version: Windows 11
Any pointers / suggestions highly appreciated.
Kind regards
Frank
Potresti contattare il supporto JMP. Molto probabilmente ti chiederanno i file Install Checker e alcune informazioni aggiuntive. Inoltre, se trovi una soluzione, postala qui.
Disabilitando la grafica accelerata tramite hardware (come suggerito dal supporto JMP) il problema è stato risolto (almeno per uno dei nostri utenti, il secondo è attualmente in vacanza).
Ecco le istruzioni che ho ricevuto dal supporto JMP:
Si prega di far eseguire all'utente il JMP Install Checker e di inviarci il risultato via e-mail. Questo report ci fornirà maggiori informazioni sulla specifica installazione di JMP.
- All'interno di JMP, vai su Aiuto ? Informazioni su JMP e fai clic su Installa Checker.
- Dopo aver visualizzato il report, seleziona Apri nel browser.
- Scegli File ? Salva con nome.
- Salvalo sul desktop come file HTML.
Si prega inoltre di consentire all'utente di accedere a File > Preferenze > Specifiche di Windows > Abilita grafica con accelerazione hardware.Deseleziona/mostrae queste preferenze, quindi fai clic su Applica, riavvia JMP e prova di nuovo.
Aggiornamento La soluzione alternativa suggerita funziona anche per il secondo utente interessato.