Windows 및 창 지속성 새로 고침<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />안녕하세요. 첫 번째 모달 알림 창을 만드는식이 있고 OK를 누르면 두 번째 편집 창이 만들어집니다. 편집 창에는 창을 닫고 원래 표현식을 다시 실행하는 새로 고침 버튼이 있습니다. "새로 고침"을 누르면 편집 창이 예상대로 닫히고 모달 알림 창이 다시 나타납니다. 그러나 원본 editwin이 이미 닫혀 있더라도 편집 윈도우의 두 번째 반복에는 이름에 "2"가 추가됩니다 ( "editwin 2"). 또한 편집 창을 닫을 때 즉시 실행해야하는 << On Close 스크립트는 알림 창의 두 번째 인스턴스가 닫히고 편집 창의 두 번째 인스턴스가 열릴 때까지 처음 실행되지 않습니다. 편집 창을 닫았지만 편집 창의 다음 인스턴스가 나타날 때까지 메모리에 남아있는 것처럼 보입니다.
누구나이 행동에 대한 좋은 설명을 갖고 있으며, 더 중요한 것은 해결 방법은 무엇입니까?
감사.
기본 이름은 여기에 있습니다 (1);
기호 삭제 ();
editwin.expr = Expr (
BB1 = ButtonBox ( "ok",
창 ( "editwin") << 창 닫기;
);
BB2 = ButtonBox ( "새로 고침",
창 ( "editwin") << 창 닫기;
editwin.expr;
);
modwin = 새 창 ( "modwin", "모달"
TextBox ( "알림 창"),
ButtonBox ( "OK", Write ( "modwin \! N"닫기))
);
editwin = 새 창 ( "editwin",
TextBox ( "편집 창"),
BB1, BB2
);
editwin << 닫기 (Write ( "editwin \! N"닫기));
editwin << 창 크기 설정 (300, 200);
);
editwin.expr;
제목 : Re : Windows 및 창 지속성 새로 고침이 코드를 제공하면 해결하려는 문제에 대해 다른 접근 방식을 제공합니다.
기본 이름은 여기에있다. ( 1 ) ;
편집 창 수행 = 기능 ({} , { 기본 로컬 } ,
nw 편집 = 새창 ( "editwin" , << 모달 ,
텍스트 상자 ( "나는 편집 창" ) ,
ButtonBox ( "승인" ) ,
) ;
만약 ( nw 편집 [ "단추" ] == - 1 ,
retVal = 1
,
retVal = 0
) ;
retVal
) ;
북아 일 = 새창 ( "modwin" , << 모달 ,
<< 유효성 검사시 (
편집 창 수행 ()
) ,
텍스트 상자 ( "나는 알림 창" ) ,
ButtonBox ( "승인" , 쓰다 ( "닫는 modwin \! N" ) ; )
) ;
제목 : Re : Windows 및 창 지속성 새로 고침당신이 맞다, 내 작품 주위에 윈도우 nwaming 문제를 cix하지 않지만 창 이름에 대한 의존성을 제거하지 않습니다. jJMLP Jmp는 운영 체제에서 닫히는 창을 전달하므로 창을 실제로 닫을 때 절대 제어가 느슨합니다.
제목 : Re : Windows 및 창 지속성 새로 고침흥미 롭 군. Windows 용 JMP 11.1.1 (64 비트)을 사용하고 있습니다. 아직 11 대 12 문제 또는 Mac 대 Windows 문제로 문제를 기각 할 준비가되지 않았습니다. 여하튼, 나는 아직도 현재 설정에 대한 해결책을 찾아야한다.
제목 : Re : Windows 및 창 지속성 새로 고침불행하게도 스크립트는 창 이름 변경을 막지 않습니다. 나는 똑같은 행동을 시도하고 얻는다.
제목 : Re : Windows 및 창 지속성 새로 고침참고로 Mac 용 JMP 12에서 스크립트를 시도했지만이 문제가 발생하지 않았습니다. editwin은 매번 editwin으로 명명되었지만 자동 번호 매기기는 발생하지 않았습니다.
그러나 Windows 용 JMP 12에서는 editwin 2, editwin 3 등의 문제를 재현 할 수있었습니다. 새로 고침 한 후마다 생성됩니다. 이유는 모르겠다.
Txnelson 접근 방식은 좋은 해결 방법을 제시합니다.
제목 : Re : Windows 및 창 지속성 새로 고침나는 창 명명 문제를 해결할 수 없었다. JMP는 주어진 EXPR의 실행 기간 동안 예약되어있는 것으로 보입니다. 그러나 아래 코드는 창 이름 대신 창 핸들에서 모든 작업을 수행하여 창 이름에 대한 우려를 제거합니다.
기본 이름은 여기에 있습니다 (1);
기호 삭제 ();
editwin.expr = Expr (
BB1 = ButtonBox ( "ok",
editwinx << 창 닫기;
);
BB2 = ButtonBox ( "새로 고침",
editwinx << 창 닫기;
editwin.expr;
);
modwin = 새 창 ( "modwin", "모달"
TextBox ( "알림 창"),
ButtonBox ( "OK", Write ( "modwin \! N"닫기));
);
editwinx = 새 창 ( "editwin",
TextBox ( "편집 창"),
BB1, BB2
);
editwinx << 닫기 (Write ( "editwinx \! N"닫기));
editwinx << 창 크기 설정 (300, 200);
);
editwin.expr;