.NET와 ActiveX 이벤트 등록하고 처리하기
- 업데이트 날짜:2025-08-27
- 3분 (읽기 시간)
.NET 또는 ActiveX 이벤트를 다룰 때, 이벤트를 등록(1~5 단계 확인)하고 해당 이벤트를 핸들링할 콜백 VI를 생성(6~7 단계 확인)해야 합니다.
노트 National Instruments는 이벤트를 처리할 필요가 없어지면 [이벤트 등록 해제] 함수를 사용하여 이벤트를 등록 해제할 것을 권장합니다. 이벤트를 등록 해제하지 않으면 해당 이벤트를 처리하는 이벤트 구조가 없어도 VI가 실행되는 한 계속해서 LabVIEW는 이벤트를 생성하고 큐에 넣습니다. 따라서 메모리가 소모되고, 이 이벤트로 인해 프런트패널 잠금이 활성화되고, VI가 작동하지 않을 수 있습니다.
다음 단계를 따라 LabVIEW에서 .NET과 ActiveX 이벤트를 등록하고 처리합니다.
-
.NET 컨테이너 또는 ActiveX 컨테이너에 새 컨트롤을 생성합니다. 또한 [컨스트럭터 노드]를 사용하여 .NET 객체를 생성하거나 오토메이션 참조 번호를 사용하여 LabVIEW로부터 ActiveX 객체를 호출할 수 있습니다.노트 LabVIEW에서는 데이터 컨스트럭터 노드를 사용하여 .NET Core 이벤트 등록과 처리만 지원합니다.
- 블록다이어그램에 [이벤트 콜백 등록] 함수를 추가합니다.
- 참조 번호 또는 객체를 [이벤트 콜백 등록] 함수의 이벤트 입력에 연결합니다.
- [이벤트 콜백 등록] 함수의 이벤트 입력 옆에 있는 아래 화살표를 클릭하고 바로 가기 메뉴에서 이벤트를 선택합니다.
- (옵션) 콜백 VI에 전달하려는 데이터를 사용자 파라미터 입력에 연결합니다. 클러스터를 포함하여 모든 LabVIEW 데이터 타입을 이 파라미터에 연결할 수 있습니다.
- VI 참조 입력에서 마우스 오른쪽 버튼을 클릭한 후 바로 가기 메뉴에서 콜백 VI 생성을 선택합니다. LabVIEW는 선택한 이벤트와 사용자 파라미터에 연결한 데이터에 기초하여 VI를 생성합니다. LabVIEW는 콜백 VI를 VI 참조 입력에 연결합니다.
|
노트 사용하려는 VI의 커넥터 팬이 이벤트 데이터의 커넥터 팬과 일치하는 한, 기존의 VI를 콜백 VI로 사용할 수 있습니다. 콜백 VI는 재호출이어야 하고 콜백 VI에 대한 참조는 엄격한 타입이어야 합니다. |
- 콜백 VI를 열고 블록다이어그램을 편집하여 이벤트를 처리합니다. 콜백 VI는 다음의 요소를 포함합니다.
- 이벤트 공통 데이터는 다음의 요소를 포함합니다.
- 이벤트 소스는 LabVIEW, .NET, 또는 ActiveX와 같은 이벤트의 소스를 지정하는 숫자 컨트롤입니다. 1의 값은 ActiveX 이벤트를 나타냅니다. 2의 값은 .NET 이벤트를 나타냅니다.
- 이벤트 타입은 어떤 이벤트가 발생했는지 지정합니다. 이는 사용자 인터페이스 이벤트에서는 열거형 타입이며 .NET, ActiveX와 다른 이벤트 소스에서는 32비트 부호없는 정수 타입입니다. .NET와 ActiveX 이벤트일 경우, 이벤트 타입은 등록된 이벤트의 메소드 코드 또는 ID를 나타냅니다.
- 타임스탬프는 이벤트가 생성된 시간을 밀리초 단위로 지정하는 타임스탬프입니다.
- 컨트롤 참조는 이벤트가 발생한 .NET, ActiveX 객체, 또는 오토메이션 참조 번호의 참조입니다.
- 이벤트 데이터는 콜백 VI가 처리하는 이벤트에 특정한 파라미터의 클러스터입니다. LabVIEW는 [이벤트 콜백 등록] 함수로부터 이벤트를 선택할 때 적절한 이벤트 데이터를 결정합니다. 이벤트에 관련된 데이터가 없는 경우, LabVIEW는 콜백 VI에서 이 컨트롤을 생성하지 않습니다.
- 이벤트 데이터 출력은 콜백 VI가 처리한 이벤트에 대한 변경 가능한 파라미터의 클러스터입니다. 이 원소는 이벤트가 출력 파라미터를 가지고 있을 때에만 사용 가능합니다.
- (옵션) 사용자 파라미터는 .NET 또는 ActiveX 객체가 이벤트를 생성할 때 콜백 VI에 전달하려는 데이터입니다.

노트 LabVIEW는 이벤트 데이터 입력을 이벤트 데이터 출력 출력에 자동으로 연결하지 않습니다. 그러므로, 이벤트 데이터 입력의 일부를 콜백 VI를 통해 전달하려면, 이벤트 데이터 입력을 이벤트 데이터 출력 출력에 직접 연결해야 합니다. - 이벤트 공통 데이터는 다음의 요소를 포함합니다.