배치 / 대화식 모드 가져 오기모달 창을 기본적으로 억제하는 방법이 있는지 궁금합니다. 일괄 대화 형은 보이지 않습니다.
Names default to here(1);
batch interactive(1);
new window("Test", <<MODAL></MODAL>
그래서 현재 배치 대화 형 모드를 얻는 방법이 있는지 궁금해서 이와 같은 것을 할 수 있습니다.
Names default to here(1);
batch interactive(1);
if(batch interactive(), // or some other internal variable
print("YAY")
, // else
new window("Test", <<MODAL></MODAL>
분명히 나는 자신의 배치 변수를 만들 수 있지만 내장 된 것이 있는지 궁금합니다.
Re: 배치/대화형 모드를 가져옵니다.정보 주셔서 감사합니다.
JMP 지원의 도움으로 
batch interactive(boolean) returns the previous setting.
Names default to here(1);
//works for both options
//batch interactive(0);
//batch interactive(1);
last setting = batch interactive(1); // return value is last setting
batch interactive(last setting); // reset it in case we set it erroneously
if(last setting,
print("YAY")
, // else
new window("Test", <<MODAL> </MODAL>
Re: 배치/대화형 모드를 가져옵니다.저는 항상 1로 시작하는데, JMP가 배치 방식이라고 생각하게 됩니다. 확실히 그렇지 않습니다. 시작할 때 첫 번째 반환이 0을 제공합니까?
Re: 배치/대화형 모드를 가져옵니다.좋은 지적 ...
스크립트를 실행할 때 JMP는 기본적으로 " Batch Interactive "가 1로 설정된 상태로 자동으로 시작되는 것 같습니다.
- 경고 메시지가 나타나지 않고 스크립트를 방해하지 않습니다.
확실히 그렇지 않습니다.
어쩌면 다른 종류의 "경고"가 있을까요? - 그리고 그들 중 일부는 이 기본 "Batch Interactive" ~ 1 설정을 무시하므로 "종료"하기 위해 JSL을 통해 전송된 명시적인 일괄 대화형(1)이 필요합니까?
Eval(arg) 대 Eval(Eval Expr( .... Expr(arg) ...) 과 같습니다.
JMP 플랫폼과 함수의 한 부분에서는 변수 참조 문제를 해결하기 위해 인수 주위에 Eval()이 필요합니다.
다른 부분의 경우 Eval(arg) 접근 방식이 실패하고 사용자는 Eval(Eval Expr( .... Expr(arg) ... )로 대체해야 합니다.
... 그리고 어떤 기능이 어떤 그룹에 속하는지 알아내는 것이 JSL 스크립터와 JMP 지원의 일상적인 즐거움입니다.
Re: 배치/대화형 모드를 가져옵니다.일괄 대화형의 다양한 동작과 다양한 "기본" 모드에 대한 예:
Names Default To Here( 1 );
testMarkup = Function( {},
text = Text Box("Bad XML <");
text << markup;
);
// Run the next four lines individually
testMarkup(); // no special setting: default
batch interactive(1);testMarkup(); // batch interactive is turned "on" so we see an error
batch interactive(0);testMarkup(); // batch interactive is turned off so we can show an error
new window("test",buttonbox("Test", testMarkup())); // running jsl in response to a click is not batch interactive mode
new window("test",buttonbox("Test", batch interactive(1);testMarkup())); // set batch interactive to 1 so the error message goes to the log and there is no modal dialog
// the findings:
// default -> no dialog
// 1 -> no dialog
// 0 -> dialog
// Run the next 3 lines individually to check if formula errors behave the same as above
:col1 << remove formula(); // no special setting: default
batch interactive(1);:col1 << remove formula(); // batch interactive is turned "on"" so we see an error
batch interactive(0);:col1 << remove formula(); // batch interactive is turned off so we can show an error
// the findings:
// default -> dialog (!!!!!)
// 1 -> no dialog
// 0 -> dialogJMP 지원에서 다음 정보를 얻었습니다.
Batch Interactive() 함수는 문서화되지 않았습니다. 행동은 상황에 따라 달라질 수 있으며, 미래에는 바뀔 수도 있습니다. 실제로는 실험적이며 지원되지 않는 것으로 간주될 수 있습니다.