기본적으로 LabVIEW는 이벤트를 생성하는 VI의 프런트패널을 잠금합니다. 이렇게 하면 LabVIEW 이벤트를 예측 가능한 방식으로 처리하고 이벤트 간 충돌을 방지할 수 있습니다.

LabVIEW 이벤트를 처리하는 동안 프런트패널 잠그기는 다음과 같이 작동합니다:

  • LabVIEW 해당 프런트패널의 객체에서 생성된 이벤트가 이벤트 큐에 들어갈 때 VI의 프런트패널을 잠급니다.
  • 프런트패널이 잠겨 있는 동안, LabVIEW 프런트패널 상호작용을 버퍼에 놓습니다.
  • 프런트패널은 모든 이벤트 구조가 해당 이벤트 처리를 끝낼 때까지 잠겨 있는 상태로 유지됩니다.
  • 그러면 LabVIEW 프런트패널이 잠금해제되면 추가적인 상호작용을 처리합니다.

예를 들어, 사용자가 텍스트를 입력해야 하는 어플리케이션을 시작하는 이벤트 케이스를 생각해 봅니다. 어플리케이션이 프런트패널에 나타나기 전에 사용자가 입력을 시작할 수 있습니다.

  • 프런트패널이 잠겨있는 경우, 일단 어플리케이션이 시작되고 프런트패널에 나타나면 키 조작을 발생한 순서대로 처리합니다.
  • 프런트패널이 잠금 해제된 경우, 키 누름이 프런트패널의 다른 곳에서 처리될 수 있습니다. 이는 LabVIEW 이벤트 케이스의 완료에 의존하도록 실행을 큐에 추가하지 않기 때문입니다.

이벤트 핸들링을 위해 프런트패널 잠금은 다음과 같은 특정 동작에 영향을 미치지 않습니다:

  • 윈도우 이동하기
  • 스크롤 막대와 상호작용하기
  • 실행 강제 종료 버튼 클릭 ()
노트 프런트패널을 잠근 이벤트 케이스를 실행하는 데 많은 시간이 걸리는 경우, 사용중 설정 함수를 사용하거나 대화 상자를 디스플레이하여 프런트패널이 잠겼음을 사용자에게 알리는 것을 고려하십시오.
유의사항 이벤트를 처리하기 위해 즉시 실행되는 이벤트 구조가 없고 프런트패널 잠금이 활성화된 경우, VI의 사용자 인터페이스는 응답하지 않을 수도 있습니다. 이런 상황이 발생할 경우, 실행 강제 종료 버튼()을 클릭하여 VI를 정지합니다. 또는 사용자 인터페이스 기반 알림 이벤트의 경우 프런트패널 잠금을 비활성화할 수 있습니다.

알림 이벤트의 프런트패널 잠금 비활성화하기

사용자 인터페이스에서 알림 이벤트의 프런트패널 잠금을 비활성화할 수 있습니다. 이벤트 핸들링이 완료되기까지 시간이 오래 걸리는 경우, VI의 사용자 인터페이스가 중단되어 나타나지 않도록 하려면 이 기능을 사용하십시오.

잠금 해제된 프런트패널의 이벤트가 큐에 들어갈 때, 이벤트를 생성한 컨트롤을 포함한 모든 컨트롤은 여전히 이벤트를 생성할 수 있습니다.

여러 이벤트가 발생하고 프런트패널 잠금이 비활성화된 경우, LabVIEW는 프런트패널이 잠금 해제될 때까지 기다리지 않고 이를 처리합니다.

노트 LabVIEW는 해당 케이스가 완료될 때까지 필터 이벤트의 처리를 끝낼 수 없기 때문에 필터 이벤트에는 이 옵션을 비활성화할 수 없습니다. LabVIEW가 필터 이벤트를 처리하는 동안 다른 이벤트를 처리하도록 허용하면 이벤트가 순서대로 발생하지 않을 수 있습니다.

다음 단계에 따라 알림 이벤트의 프런트패널 잠금을 비활성화합니다.

  1. Event structure 경계를 마우스 오른쪽 버튼으로 클릭한 후 Edit Events Handled by This Case를 선택합니다.
    이벤트 편집 대화 상자가 나타납니다.
  2. Events 영역에서 잠금 해제할 알림 이벤트를 선택합니다.
    알림 이벤트는 녹색 화살표로 표시됩니다. 필터 이벤트는 빨간색 화살표로 표시됩니다.
  3. Lock panel (defer processing of user actions) until the event case completes에서 확인 표시를 제거합니다.