DIAdem에서 Python 스크립트와 SUD(User Dialog)는 서로 다른 실행 환경(Python vs VBScript)을 사용하므로, Python에서 정의한 객체(예: Enum)를 SUD로 직접 전달할 수 없습니다.이 문서에서는 Python에서 정의한 열거형(enum)을 문자열로 변환하여 Global Variable을 통해 SUD와 공유하고, SUD에서 이를 다시 UI 컨트롤(ComboBox 등)에 사용하는 방법을 설명합니다.
dd = DIAdem.Application
class TestMode(Enum): AUTO = 0 MANUAL = 1 CALIBRATION = 2# Enum 이름 추출labels = [e.name for e in TestMode]# Enum 값 추출values = [e.value for e in TestMode]
#문자열로 변환 (세미콜론 구분)dd.TestMode_Labels = ";".join(labels)dd.TestMode_Values = ";".join(str(v) for v in values)
#예상 결과 TestMode_Labels = "AUTO;MANUAL;CALIBRATION"TestMode_Values = "0;1;2"
For i = 0 To UBound(EnumText) cmbTestMode.Items.Add EnumText(i), EnumInt(i)Next
ComboBox에 Enum 값이 정상적으로 표시됩니다. 사용자가 선택한 값은 내부적으로 Enum의 value 값으로 전달됩니다.
Enum.zip 참조
토론 포럼에서 다른 사용자와 공동 작업
유효한 서비스 계약 또는 활성 소프트웨어 구독이 필요할 수 있으며, 지원 옵션은 국가마다 다를 수 있습니다.
Helpful
Not Helpful