MouseBox의 키보드 이벤트 관련 버그 수정아래 코드를 고려하십시오.
Names Default To Here( 1 );
New Window( "SetKey Example", mb = MouseBox( tb = Text Box( "Press a key." ) ) );
mb << setkey( Function( {this, key}, show( key ) ) );
mb << setkeyenable( 1 );
mb << setfocus;와 같은 버튼을 누르면 케이 , 연결된 함수가 두 번 실행됩니다.분명히 타이밍 등으로 해결 방법을 생성할 수 있지만 JMP 개발자조차도 이러한 사용자 기반 해결 방법을 불행하게 생각할 것이라고 생각합니다.
이 위시리스트 요청에 영감을 준 것은 무엇입니까?
당신이 보고 싶은 개선점은 무엇입니까?
이 아이디어가 중요한 이유는 무엇입니까?
자동화 및 스크립팅Re: MouseBox의 키보드 이벤트 관련 버그 수정와우, 정말 멋진 기능: 세트키 !
언급해주셔서 감사합니다...
그럼에도 불구하고 정말 이상한 문제!
놀랍게도 이 함수는 항상 두 번 트리거되는 것은 아니며(a,b,r,t,z 참조) Return(및 Enter)의 경우 추가 End":
독일어 키보드가 있는 Jmp17:

Re: MouseBox의 키보드 이벤트 관련 버그 수정키를 눌렀다가 다시 떼서 그런건지 궁금합니다.
그러나 키를 계속 누르고 있으면 기능이 계속해서 트리거됩니다.
리턴을 누를 때 결과가 특히 흥미롭습니다. 그러면 다음과 같습니다.

Re: MouseBox의 키보드 이벤트 관련 버그 수정나는 명령의 두 트리거 사이에 어느 정도의 시간이 걸리는지 궁금했고 그렇게 함으로써 쉬운 해결책을 찾았습니다.
명령을 약간만 내리십시오. 더 길게 show(key)보다 - 1x 트리거됩니다 
첫 번째 기능은 두 번 트리거됩니다.

두 번째(약간 더 긴) 함수의 주석을 제거하면 문제가 해결됩니다.

Names Default To Here( 1 );
time0 = 0;
doSomething = Function( {this, key},
time = HP Time();
Write("\!n v1: ",key," ", time);
);
doSomething2 = Function( {this, key},
time = HP Time();
dt = (time - time0)/1000000;
Write ( "\!n v2: ", key," ", dt);
time0 = time;
);
New Window( "SetKey Example",
H List box(mb = MouseBox( tb = Text Box( "Press a key." )), Button Box ("save", onSave()))
);
mb << setkey( Function( {this, key}, doSomething( this, key ) ) );
//mb << setkey( Function( {this, key}, doSomething2( this, key ) ) );
mb << setkeyenable( 1 );
mb << setfocus;
Re: MouseBox의 키보드 이벤트 관련 버그 수정 - 상태가 다음으로 변경됨: 확인됨안녕 @ErraticAttack , 그리고 댓글을 달아주신 모든 분들. 이것은 버그처럼 들립니다. 기술 지원팀과 공유하고 있습니다.
Re: MouseBox의 키보드 이벤트 관련 버그 수정불행히도 Mouse Box 설명서는 완전하지 않습니다.우리는 알고 있으며 수정해야 할 목록에 있습니다.그동안 << 키 설정 메시지는 포함된 함수의 "부울" 반환 값에 응답하도록 설계되었음을 알아두십시오.함수가 "true"(예: 1)를 반환하면 키 누름이 처리되었음을 Set Key에 나타내며 명백한 두 번째 함수 호출을 받지 않습니다.함수가 "false"(예: 0)를 반환하면 OP 예제에 설명된 동작을 얻게 됩니다.다음은 각 키 누름에 대한 단일 명령문을 로그에 기록하는 OP 예제의 수정입니다.
Names Default To Here( 1 );
New Window( "SetKey Example", mb = MouseBox( tb = Text Box( "Press a key." ) ) );
mb << setkey( Function( {this, key},
show( key );
1; // return "boolean" to indicate if the key press was processed.
) );
mb << setkeyenable( 1 );
mb << setfocus;Re: MouseBox의 키보드 이벤트 관련 버그 수정감사해요 @_jr , 이것은 Qt 이벤트와 마찬가지로 완전히 의미가 있습니다.
Re: MouseBox의 키보드 이벤트에 대한 버그 수정 - 상태가 다음으로 변경됨: 배송됨