숨겨진 창안녕-내 추가 기능을 실행할 때 다른 (비 JMP) 응용 프로그램 뒤에서 열리는 JMP 창에 문제가 있습니다. 다음 단계는 랩톱에서 발생하는 문제를 보여줍니다.
- JMP를 열고 JMP 데이터 세트도 엽니 다.
- 이제 다른 응용 프로그램 (예 : PowerPoint)을 열고 최대화합니다 (JMP 홈 창이나 데이터 세트가 포함 된 창 모두 즉시 표시되지 않음).
- PowerPoint에서 작업 (예 : 슬라이드 편집 등) 한 다음 JMP에서 분석으로 돌아가고 싶습니다. 따라서 PowerPoint를 열어 최대화 상태로두고 화면 하단에있는 JMP 아이콘 위에 마우스를 올려 놓고 분석 할 데이터 세트가 포함 된 창을 선택합니다. 이 창은 이제 PowerPoint 위에 있습니다 (JMP 홈 창은 여전히 숨겨져 있지만 뒤에 파워 포인트).
- 이제 애드 인을 실행하려고하므로 데이터 세트 창 상단의 메뉴에서 선택합니다. 내 애드 인이 수행하는 첫 번째 작업은 모달 대화 상자 창을 표시하는 것입니다. 분석 할 데이터 테이블의 열을 선택하도록 초대 한 다음 "확인"버튼을 클릭하여 계속 진행합니다. 추가 기능을 호출하면 모달 대화 상자 창이 실제로 나타납니다. 그러나 그것과 데이터 세트가 포함 된 창은 모두 PowerPoint 뒤에서 즉시 사라집니다 (사용자에게 응용 프로그램이 방금 충돌했다는 인상을줍니다).
데이터 세트 창에서 추가 기능을 여는 대신 JMP 홈 창을 맨 앞으로 가져옵니다. 먼저 을 클릭 한 다음 두 창에서 추가 기능을 실행하면 문제가 발생하지 않습니다 (또는 정확히 말하자면 데이터 창이 여전히 PowerPoint 뒤에서 사라지지만 모달 대화 상자 창이 맨 위에 남아 있고 분석 결과가 나중에 나타납니다. 상단에도).
나는 해결책이 힘 분석을 시작하기 전에 JMP 홈 창을 현재 창 (즉, 열려있는 다른 응용 프로그램 앞으로 이동)으로 만드는 추가 기능에 한 줄 시작 스크립트를 삽입해야합니다. Get Window List 기능은 목록 내에 JMP Home Window를 포함하지 않으므로 그런 식으로 참조 할 수 없습니다.
아무도 내가 어떻게 해결할 수 있는지 제안 할 수 있습니까? (물론 모든 사용자에게 위에서 설명한 방식으로 추가 기능을 사용하지 말라고 말할 수 있지만 가능하면 스크립팅을 통해 문제가 발생하지 않도록 방지하는 것이 좋습니다.)
감사합니다.
데이터 테이블스크립팅Re : 숨겨진 창Windows의 JMP 15.2.1에서 이것을 복제 할 수 없습니다.추가 기능을 위해 메뉴 내에서 대부분의 창을 호출하는 방법은 다음과 같습니다. 사용중인 것과 다른 것이있을 수 있습니까?
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>
addinAbout.jsl 파일 내부 어딘가에 New Window () 함수가 있습니다.
Re : 숨겨진 창안녕하세요 IH,
확인하기 위해 MS Windows에서 실행 중이며 (Mac에서도 동일한 문제가 나타나는지 모르겠습니다) 버전이 관련이있는 경우 JMP 15.0.2를 실행 중이므로 JMP보다 이전 버전입니다. 15.2.1-하지만 JMP 16EA 버전 8에 액세스 할 수 있으며 거기에서도 동일한 동작이 나타납니다.
간단히 말해서, JMP 홈 창이 완전히 최대화 된 비 JMP Windows 응용 프로그램 뒤에 숨겨져있는 경우 (응용 프로그램이 무엇인지에 영향을주지 않는 것처럼 보이기 때문에 "X"라고 부릅니다) -in이 실행되면 추가 기능에 의해 생성 된 모든 출력 창이 X 뒤에 숨겨집니다. 위의 내용에서 추가 기능이 실행될 때마다 JMP 홈 창을 즉시 앞으로 가져올 수있는 방법을 찾을 수 있다면 문제가 해결 될 것이라고 추론합니다.
게시 한 addin.jmpcust의 구조를 내가 사용한 Add-In Builder에서 생성 한 구조와 비교하려고했지만 내 것이 상당히 길고 정확히 무엇을 찾고 있는지 모르겠습니다. 뼈까지 다듬어 진 애드 인 버전을 만들어야 할 것 같다고 생각한 다음, 작업을 마치면 다시 도움을 요청해야합니다 (JSL 스크립트 사본 첨부).
나는 이와 같은 것이 복제 될 수없는 경우 진단하기가 거의 불가능하다는 것을 잘 알고 있으므로 더 구체적으로 진행할 것이 있으면 다시보고 할 것입니다.
도움을 주셔서 감사합니다.
Re : 숨겨진 창이제 숨겨진 창 문제를 해결 했으므로이 문제를 게시 할 때 해결 된 것으로 표시하겠습니다.
기록을 위해, 문제는 열 선택 대화 상자가 호출되기 전에 데이터 테이블이 최소화 되었기 때문에 발생했습니다. 앞으로 유사한 문제가 발생하는 경우 다음 짧은 스크립트가 원인을 식별하는 데 도움이 될 수 있습니다. 추가 기능으로 컴파일 한 다음 데이터 테이블 위의 기본 메뉴에서 호출해야합니다 ( 아니 Windows 작업 표시 줄에서 데이터 테이블이 열리면 JMP 홈 창에서).
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
================
*/