2017-02-08 18 views
2

테이블에서 저장된 함수를 검색하여 런타임에 실행하려고합니다. 예 MyTableFieldValue에는 다음이 포함 MyTableFieldValue은을 MyTable라는 테이블의 필드 값입니다런타임에 저장된 함수를 실행하십시오.

$PARAMETER(MyClass,MyParameterName) 

합니다. MyClass 클래스에서 MyParameterName 값은 "ThisParameter는"

내가이 작업을 수행 할 수 실제로 :

Set parameterName = MyTableFieldValue 

경우 ParameterName는 "ThisParameter"를 포함해야합니다 경우.

대신이

$PARAMETER(MyClass,MyParameterName). 

가 어떻게 실제로 MyTableFieldValue에 무엇을 평가하기 위해 캐시를 강요하는 걸까 포함?

답변

2

테이블의 데이터가 사용자가 편집 가능한 귀하의 예에서 문서

http://docs.intersystems.com/latest/csp/docbook/DocBook.UI.Page.cls?KEY=GCOS_operators#GCOS_operators_indirection_arg

에 설명 된대로 당신이 그러나

Set @("parameterName = "_MyTableFieldValue) 

모양을 당신의 가치를 계산하는 간접를 사용할 수없는 경우 이 방법으로 거의 모든 코드를 실행할 수 있기 때문에 사용자가 테이블의 데이터를 변경할 수 있으면 안전하지 않습니다. 이 경우 문자열을 구문 분석하고 클래스 이름과 매개 변수 이름을 찾고 $ 매개 변수 함수 호출을 명시 적으로 실행해야합니다.