Re: 스크립트 파일에 인수를 직접 전달합니다.꼭 이런 식으로 해야 할 이유가 있나요?어떤 종류의 극단적인 상황에 제약을 받지 않는 한, 대화형 GUI를 구성하는 방법은 당신이 해야하는 방식이 아닙니다.
JMP 클래스 사용을 고려해보세요. 이를 통해 메소드를 표시 요소의 콜백으로 직접 사용할 수 있고 GUI 구성을 크게 단순화할 수 있습니다.
인수를 스크립트 파일에 직접 전달여기요,
문자열 인수인 str1 인수를 "script2run.jsl"이라는 별도의 스크립트에 전달하고 싶습니다. 예를 들어 해당 스크립트는 str1 인수를 사용하고 다음과 같은 메시지를 인쇄합니다.
print("This is the important string I successfully passed: " || Eval(str1)) ;
나중에 사용하기 위해 저널로 저장될 창을 생성하는 다른 스크립트는 다음과 같은 버튼을 통해 해당 스크립트를 트리거합니다.
vars4script = {"nine", "one", "two", "eight", "eleven"};
win_click = New Window( "journal window",
Spacer Box( size( 100, 10 ) ),
Header = Text Box( " journal window buttons", <<FONT color=""></FONT>
여기에는 3가지 방법이 있지만 버튼을 클릭해도 제대로 작동하지 않습니다.
자동화 및 스크립팅Re: 스크립트 파일에 인수를 직접 전달합니다.나는 다른 방식으로 UI를 구축하는 것을 고려하고 있지만, 제안한 방식으로 정말로 가고 싶다면 이것이 효과가 있을 수 있습니다. ~ 아니다 이것을 사용하세요)
Names Default To Here(1);
vars4script = {"nine", "one", "two", "eight", "eleven"};
win_click = New Window("journal window",
Spacer Box(size(100, 10)),
Header = Text Box(" journal window buttons", <<FONT color="">= 1, i--,
Eval(EvalExpr(
buttons_area1 << Append(Button Box(vars4script[i],
str1 = Expr(vars4script[i]);
Expr(Parse(Load Text File("script2.jsl")));
));
));
);
</FONT>Re: 스크립트 파일에 인수를 직접 전달합니다.더 나은 방법의 예를 제시할 수 있다면 기뻐할 것입니다. 내 유일한 제약은 UI에서 클릭한 버튼에 따라 하나의 일반 스크립트가 다른 변수를 갖게 된다는 것입니다.Re: 스크립트 파일에 인수를 직접 전달합니다.간단한 경우에는 함수나 버튼 이름을 인수로 사용할 가능성이 높습니다. 일반 스크립트를 수정할 수 있습니까? 예를 들어 스크립트 시작 부분에 포함시킨 다음 각 버튼 내의 일반 스크립트에서 함수를 호출할 수 있습니까?
script1.jsl
Names Default To Here(1);
Include("script2.jsl");
vars4script = {"nine", "one", "two", "eight", "eleven"};
win_click = New Window("journal window",
Spacer Box(size(100, 10)),
Header = Text Box(" journal window buttons", <<FONT color=""></FONT>
script2.jsl
Names Default To Here(1);
my_func = function({str}, {Default Local},
Show(str);
);