사용자가 복제 할 수없는 스크립트로 오류가 발생합니다.내 애플 리케이션을 마친 내 macihne 의도대로 작동합니다. 몇 명의 사용자에게 앱을 테스트 해 보았습니다. 사용자는 오류 메시지를 가져 오지 않습니다.
Col List에서 열을 선택하는 데 필요한 스크립트의 일부입니다.
스크립트에서이 Col List Box를 먼저 생성하고 어떤 onChange 스크립트를 할당하여 어떤 열이 선택되었는지를 읽습니다.
colListX = Col List Box (Data Table(dt<<GET name=""></GET>
이제 사용자가 Col 목록 상자에서 아무 열이나 클릭하면 아래 오류 메시지가 나타납니다. 일부 show () 명령을 코드에 넣고 실행하도록 요청했습니다.

그래서, 여기 colListX - 내가 일하는 Col List Box입니다. colListXselected - 선택 가져 오기를 통해 현재 선택한 열입니다. 흥미 롭습니다 : 사용자가 다음과 같이 로그에 표시했습니다.
colListXselected = {"eventtime"};
Is Scriptable(colListXselected) = 1;
내 로그에 다음과 같이 표시됩니다.
colListXselected = {:eventtime};
Is Scriptable(colListXselected) = 1;
실행중인 코드는 동일합니다.
사용자가 열이 없기 때문에 전체 오류가 발생합니다. 따라서 열이 아니기 때문에 개체가 스크립트 가능하고 이름 가져 오기 메시지를 적용 할 수 없어도됩니다.
어쨌든 사용자가 내 출력과 다른 점은 무엇입니까? 문제를 해결하는 방법?
감사,
엠
제목 : Re : 사용자가 복제 할 수없는 스크립트로 오류가 발생합니다.이것은 JMP 13.0.0의 문제였습니다. JMP를 참조하십시오. 문제점 노트 59737 자세한 내용은 무료 업데이트는 JMP 13.2.1에서 다운로드 할 수 있습니다. JMP 소프트웨어 업데이트 페이지.
희망이 도움이됩니다!
제목 : Re : 사용자가 복제 할 수없는 스크립트로 오류가 발생합니다.이걸 다시 할 시간이있어.
문제 해결에 많은 시간을 가져 주셔서 감사합니다. 사용자가이 오류를 범하는 이유를 알기 때문에 이해가됩니다.
내가 이해할 수없는 것은 JMP가 열 참조 목록을 반환하는 이유이며, 다른 사용자와 마찬가지로 문자열 목록을 반환한다고 가정합니다.
나머지 코드를 제외하고 그 코드에 어떤 영향도 미치지 않도록하려면이 작은 스크립트를 작성하고 사용자에게 실행하도록 요청했습니다.
Names Default To Here( 1 );
Clear Log();
dt = Open( "$SAMPLE_DATA/Big Class.jmp" );
New Window( "Col List Box Example",
colList = Col List Box( all, width( 250 ), maxSelected( 1 ) ),
);
colList << Set Selected (2);
colListSelected = colList<< Get Selected;
testString="test";
show(Type(testString));
show(Type(colListSelected));
show(Type(colListSelected[1]));
show(colListSelected[1]);
내 JMP는 다음과 같이 반환합니다.
Type(testString) = "String";
Type(colListSelected) = "List";
Type(colListSelected[1]) = "Name";
colListSelected[1] = :age;
JMP는 다음을 반환합니다.
Type(testString) = "String";
Type(colListSelected) = "List";
Type(colListSelected[1]) = "String";
colListSelected[1] = "age";
이것이 어떻게 가능한지? JMP에서이 사람을 볼 수 있습니까? 아니면 지원을 위해 보내야합니까?
감사,
엠
제목 : Re : 사용자가 복제 할 수없는 스크립트로 오류가 발생합니다.JMPVersion () 함수를 사용하여 JMP 버전을 인쇄 할 수 있습니다.
제목 : Re : 사용자가 복제 할 수없는 스크립트로 오류가 발생합니다.미구엘로,
ColListBox << get는 열 이름의 목록, 즉 인용 된 문자열의 목록을 반환합니다. 귀하의 결과가 어떻게 열 참조인지 알지 못합니다. 오류에 관해서는 아래 스크립트를보십시오. usrsel1과 usrsel2는 모두 목록이며 스크립트 가능합니다. usrsel1 [1]은 컬럼 참조이므로 스크립트 할 수 있습니다 : 메시지 (메소드)가 있습니다. usrsel2 [1]은 스크립팅 할 수없는 문자열입니다. 그게 당신이보고 한 오류 메시지가 말하는 것입니다.
Names Default To Here( 1 );
dt = Open( "$SAMPLE_DATA/Big Class.jmp" );
usrsel1 = { :height };
usrsel2 = { "height" };
//Run one line at a time
Show( IsScriptable(usrsel1), IsScriptable(usrsel2) ); // both are 1
Show( IsScriptable(usrsel1[1]), IsScriptable(usrsel2[1]) ); //results are 1, 0
show(usrsel1[1] <<GET name=""></GET>나는 아무런 선호도가 없다는 것을 안다. 또는, 윈도우에서 set을 선택하는 옵션은 열 참조를 반환한다.