보고서 창이 닫히지 않습니다실행 시 다음과 같은 대화형 GUI가 표시되도록 설정하려는 스크립트가 있습니다.

로트 번호를 채울 수 있으며 현재 작동하는 유일한 버튼은 "CPL 화면" 버튼입니다.클릭하면 해당 로트의 웨이퍼가 검사 제한을 통과했는지 여부에 대한 보고서가 생성됩니다.데이터에 오류 코드나 매우 높은 값이 있는 경우 사용자가 해당 값을 제거하고 검사를 다시 수행할지 묻는 버튼 상자가 보고서에 추가됩니다.

현재 보고서 창과 이와 관련된 데이터 테이블을 닫고 잘못된 데이터를 제거한 후 처음에 수행한 것과 동일한 "CPL 화면"을 다시 실행해야 하는 위치에 버튼을 설정했습니다.유일한 문제는 재실행 버튼을 클릭하면 원래 창이 닫히고 보고서가 완료되지 않는다는 것입니다.
실제로 스크립트에 들어가서 버튼에 연결된 코드를 강조 표시하면 스크립트가 제대로 실행됩니다.실제로 버튼을 클릭한 경우에만 작동하지 않습니다.다음은 처음으로 창 목록을 볼 때의 모습입니다.

재실행 버튼을 클릭하면 다음과 같이 표시됩니다.

새 보고서가 열리기 전에 원래 보고서가 닫히지 않는 것 같습니다.동일한 코드를 물리적으로 실행할 수 있고 모든 것이 작동한다는 점을 고려하면 어리둥절합니다.다음은 스크립트가 수행하는 작업에 대한 suedo 흐름 차트입니다.

어떤 도움이라도 주시면 감사하겠습니다.
Re: 보고서 창이 닫히지 않습니다버튼과 해당 스크립트를 포함한 모든 속성은 디스플레이 트리의 하위 항목입니다. 디스플레이 트리는 창에 포함되어 있습니다. 창을 닫으면 버튼과 해당 스크립트가 삭제됩니다. 창을 닫은 버튼 스크립트인 경우 오류(잠재적으로 매우 심각한 오류)가 발생할 수 있습니다. 따라서 JMP는 이를 감시하고 창이 숨겨져 있는지 확인하고 버튼 스크립트가 완료될 때까지 대기합니다.
이 동작을 보여 주는 스크립트는 다음과 같습니다. 홈 창에서 창 목록을 확인하여 확인하세요.
win1 = New Window( "Window 1",
V List Box(
Button Box( "Close window 1 and open window 2",
win1 << close window;
win2 = New Window( "Window 2",
<<MODAL></MODAL>
Re: 보고서 창이 닫히지 않습니다해당 창을 닫고 더 많은 스크립트를 계속하는 보고서 창에 버튼을 놓으면 해당 버튼이 포함된 창이 완전히 닫히지 않는다는 것을 알아냈습니다. 그러나 동일한 스크립트를 수행하는 버튼을 보고서 창 외부에 배치하면 모든 것이 잘 작동합니다. 왜 그런지 정확히 모르겠고 보상을 위해 스크립트를 약간 변경해야 했지만 이제는 결국에는 잘 작동합니다.Re: 보고서 창이 닫히지 않습니다보고서 창에 버튼을 추가하는 코드는 다음과 같습니다.
if(errors_exist == 1 | large_value == 1,
error_box << append(Button box("Remove Erroneous Data and Rerun Analysis",redo_analysis))
)
redo_analytic 코드는 다음과 같습니다.
redo_analysis = expr(//if the user wants to eliminate error codes or large data values need to redo the screening and remove the issue points
close(dt_screen_results, nosave);
re_run = 1; //boolean flip to not have the script pull data from the database again
screen_result_window << close window;
//wait(5);
column(dt_lot, "Screen Results") << set selected(1);
dt_lot << delete columns();
if(errors_exist == 1, //deletes the error code rows
dt_lot << selectrows(error_rows)
);
if(large_value == 1,//deletes the large value rows
dt_lot << selectrows(large_values)
);
dt_lot << delete rows()
CPL_screen
//window(char(lot_num << get text) || " CPL Results Summary") << close window;
);
보고서에서 버튼을 누르면 문제가 지속됩니다. 버튼을 누르지 않고 스크립트에서 redo_analytic을 강조 표시하고 해당 부분을 실행하면 모든 것이 잘 작동합니다.
Re: 보고서 창이 닫히지 않습니다JMP에서 창을 열어도 스크립트 처리가 자동으로 중단되지는 않습니다.창을 "모달" 창으로 선언하거나 창 내의 개체에 실행될 코드를 삽입하여 사용자가 버튼을 클릭하거나 콤보 상자에서 선택할 때까지 실행되지 않도록 해야 합니다. 등.
그래서 제 생각에는 창이 열려 있는 동안 JMP 코드가 계속 처리되고 있으며 처리가 계속되기 전에 사용자 입력을 기다리고 있다고 생각하고 있는 것 같습니다.
Re: 보고서 창이 닫히지 않습니다좀 더 살펴보니 스크립트가 내가 생각했던 순서대로 실행되지 않는 것 같습니다. 나는 스크립트가 순차적으로 실행될 것이라고 생각했습니다. 10번째 줄이 실행된 다음 11번째 줄로 이동하여 실행하는 것입니다. 재실행 부분의 시작 부분에 보고서 << close window() 줄이 있어도 스크립트는 스크립트가 완전히 끝날 때까지 해당 줄을 완전히 실행하지 않는다는 것을 발견했습니다. 창은 숨겨지지만 새 창이 열릴 때까지 완전히 닫히지는 않습니다. 히스토그램을 만드는 데이터 테이블을 닫기 위해 보고서 창에 < JMP가 이런 일을 하는 이유와 이를 완화하기 위해 무엇을 할 수 있는지에 대한 아이디어가 있습니까? JMP 12를 실행하고 있다는 사실을 잊어버렸습니다.