버그인가 기능인가??알고 계신 분들을 위한 간단한 질문입니다. 창에 < 극도로 사용자가 이런 방식으로 JMP를 종료하는 것이 일반적이므로 거의 항상 모든 <
누구든지 이것을 보거나 해결 방법을 알고 있습니까?
제가 겪고 있는 주요 문제는 JMP가 이벤트 루프 Python 스크립트를 실행하고 실행 파일을 창에 첨부한 다음 localhost 소켓을 통해 Python과 통신한다는 것입니다.창 닫기 스크립트는 Python 세션을 정상적으로 종료합니다.위의 방식으로 JMP를 닫으면 이런 일이 발생하지 않고 JMP가 정지되지만 JMP 창이 모두 사라집니다. 따라서 JMP는 전체 리소스 세트(종종 1GB 이상)와 함께 작업 관리자 목록에 남아 있으며, 작업을 수동으로 종료해야만 종료됩니다.
RunProgram 결과는 활성 JMP 창에 연결되어야 하고(이벤트 루프 목적으로) 창은 위에서 설명한 방식으로 강제로 닫히므로 제대로 종료되기 전에 RunProgram 변수가 삭제됩니다. 파이썬.
그것은 엉망이고 해결책이 있었으면 좋겠지만 아직까지는 그것을 볼 수 없습니다.
자동화 및 스크립팅윈도우Re: 버그인가요 기능인가요??비슷한 문제를 처리하기 위해 FileSnapper 추가 기능에서 이것을 사용했습니다. RunProgram은 실제로 창에 연결되지 않고 복제될 수 있는 창의 컨텍스트에 연결됩니다. 복제본이나 창이 컨텍스트를 참조하는 한 해당 컨텍스트는 삭제되지 않으며 RunProgram 스크립트는 계속 작동합니다. 네임스페이스:evalcontext 변수는 컨텍스트를 활성 상태로 유지하는 경우를 제외하고는 사용되지 않습니다. RunProgram 변수/핸들(rp 아마도)도 동일한 수명이 필요하기 때문에 동일한 네임스페이스에 유지됩니다.
// addinLoad.jsl - this is the round-about launcher that uses a clone of a transient
// window's evalcontextbox to keep the evalcontext for a callback script alive.
// ideally, this would be, or directly include, FileSnapper.jsl, but that file
// constructs a RunProgram callback script that is somehow tied to a transient
// evalcontext that won't be available at callback time.
Local( {bb},
New Window( "File Snapper Startup", bb = Button Box( "start", Include( "$ADDIN_HOME(com.jmp.hales.FileSnapper)\Additional.jsl" ) ) );
bb << click; // run the script in this window's context
// capture the evalcontext, by cloning the box that references it into our namespace
Namespace( "FileSnapper" ):evalcontext = ((bb << parent) << parent) << clonebox;
bb << closewindow;
if(Namespace( "FileSnapper" ):evalcontext<<CLASSNAME></CLASSNAME>
그 중 어느 것도 문서화되거나 미래에 작동할 것이라고 약속되지는 않았지만, 무언가 변경되면 아마도 유용한 메시지를 던질 것입니다.
@jschroedl - ^Q 및 OnClose 스크립트
Re: 버그인가요 기능인가요??감사합니다!나는 지금 그것을 살펴보고 그것이 효과가 있는지 알아볼 것입니다. 그러나 당신은 결코 이 멋진 보석을 주지 않으므로 그것이 나에게 효과가 있을 것이라고 확신합니다!이것은 창 문제를 우회하는 데 아주 좋습니다!
Re: 버그인가요 기능인가요??@KennethAdams 천만에요! FileSnapper ( FileSnapper ), 아니면 맥락을 파악하는 기술인가요? 두 가지 피드백 모두 JMP 개발팀에 좋은 소식입니다.
@줄리안 - Filesnapper는 제가 작업 중인 JSL을 복구하는 데 도움이 될 수 있으며, 컨텍스트 그래버는 시작 중에(또는 다른 곳에서) 실행되는 추가 기능을 작성할 때 유용합니다. 두 아이디어 모두 JMP에 더 많이 통합되면 더 좋을 수 있습니다.
Re: 버그인가요 기능인가요??알려주셔서 감사합니다 @Craige_Hales
앞으로 개선할 수 있는지 확인하기 위해 ^Q + OnClose 동작을 조사하기 위해 문제를 제출했습니다.
Re: 버그인가요 기능인가요??^Q로 인해 아래 팝업(저장되지 않은 여러 파일)이 발생하고 사용자가 "저장 안 함"을 클릭한 경우에만 문제가 발생했습니다.

Re: 버그인가요 기능인가요??방금 창을 없애기 위해 귀하의 트릭을 사용하여 지속적인 Python 연결 구현을 마쳤습니다. 이제 AddinUnload.jsl 파일 내에 Python 세션 종료 스크립트를 넣을 수 있으며 작동합니다(JMP는 창이 열리지 않은 상태에서도 멈추지 않고 TaskManager를 통해서만 종료할 수 있는 숨겨진 세션)
도와주셔서 정말 감사합니다!새로운 영구 Python 연결을 사용하면 모든 데이터 쿼리를 Python으로 오프로드하여 병렬로 실행할 수 있습니다. 그런 다음 사용자가 사용할 준비가 되면 JMP가 파일을 선택합니다. 정말 좋습니다!
Re: 버그인가요 기능인가요??감사합니다. 하루를 절약했습니다. 사용자가 "저장 안 함" 옵션을 사용하여 여러 개의 편집된 파일을 닫을 때 문제가 발생하는 경우 에세이 작성에 도움이 필요하고 최고의 온라인 에세이 작가를 찾고 있는 경우 다음을 방문해야 합니다. 이것 https://writinguniverse.com/essay-types/informative-essays/ 페이지. 이 웹사이트를 통해 학생들은 다양한 웹사이트와 리뷰를 비교하여 에세이 프로젝트에 대한 정보를 바탕으로 선택할 수 있습니다. 간단히 말해서, 이 웹사이트는 사람들이 에세이 프로젝트에 대한 리뷰와 옵션을 제공하여 올바른 온라인 에세이 작성 서비스를 찾는 데 도움을 줍니다.
Re: 버그인가요 기능인가요??@jschroedl 이것에 대한 업데이트가 있었나요?또한 사용자가 창 목록에서 여러 창을 선택하고 한 번에 모두 닫을 때(일반적으로 창을 선택한 후 삭제를 눌러), 저장되지 않은 여러 파일에 대한 팝업이 표시되면 저장 없음이 자동으로 닫히는 경우에도 동일한 문제가 발생합니다. OnClose를 트리거합니다. JMP를 종료하지 않는다는 점을 제외하면 위와 완전히 동일합니다.
정리 스크립트가 실행되지 않으므로 많은 리소스가 중단될 수 있습니다.