런타임에 객체 입력타겟 객체와 같은 클래스인지, 아니면 타겟 객체의 직하위 클래스인지를 확인합니다. SubVI가 예상된 입력 타입의 직하위 클래스를 받을 때 LabVIEW가 SubVI 노드의 LabVIEW 클래스 출력을 LabVIEW 클래스 입력과 같은 클래스 타입으로 확실히 다운캐스트하도록 하려면 SubVI의 블록다이어그램에서 이 함수를 사용합니다.


icon

입력/출력

  • cLabVIEW_Objectlvclass.png 타겟 객체

    타겟 객체객체 입력의 클래스와 비교하려는 클래스의 객체입니다.

  • cLabVIEW_Objectlvclass.png 객체 입력

    객체 입력―LabVIEW가 자동으로 다운캐스트하도록 하려는 객체입니다.

  • cerrcodeclst.png 에러 입력

    에러 입력은 이 노드의 실행 전에 발생한 에러 조건을 설명합니다. 다음의 예외 사항을 제외하고 이 입력은 표준 에러 입력 기능을 제공합니다.

    이 노드는 실행 전에 에러가 발생한 경우에도 정상적으로 실행됩니다.

  • iLabVIEW_Objectlvclass.png 객체 출력

    객체 출력객체 입력과 같습니다. 타겟 객체객체 입력과 호환되지 않는 경우, 함수는 에러를 반환하고 객체 출력의 데이터 값은 타겟 객체와 같은 와이어 타입입니다.

  • ierrcodeclst.png 에러 출력

    에러 출력은 에러 정보를 포함합니다. 이 출력은 표준 에러 출력 기능을 제공합니다.

  • 다음의 기준을 충족하는 VI에서 이 함수를 사용하십시오:

    • VI가 LabVIEW 클래스를 입력으로 받고, 같은 LabVIEW 클래스를 출력으로 반환합니다.
    • VI를 subVI로 호출하려고 합니다.
    • 직하위 클래스가 입력으로 연결된 경우, subVI 노드의 출력 클래스 타입이 항상 입력 클래스 타입과 일치하도록 변경되어야 합니다.

    같은 LabVIEW 클래스를 받아들이고 반환하는 여러 subVI 노드의 경우, 사용자가 직하위 클래스를 클래스 입력에 연결하면 LabVIEW는 자동으로 출력 클래스를 다운캐스트합니다. 이러한 subVI의 경우에는 이 함수를 사용하지 않아도 됩니다.

    그러나, subVI의 블록다이어그램 전체에서 클래스 타입이 변경되지 않는지 LabVIEW가 확인할 수 없는 경우, LabVIEW는 subVI 노드의 출력 클래스를 자동으로 다운캐스트하지 않습니다. 이러한 경우, subVI의 블록다이어그램 전체에서 클래스 타입이 변경되지 않는다는 확신이 있다면 사용자는 subVI에서 클래스를 반환하기 바로 전에 이 함수를 사용하여 클래스를 다운캐스트할 수 있습니다. 이 함수는 항상 타겟 객체와 같은 타입의 객체를 반환하므로, LabVIEW는 반환되는 클래스를 같은 타입으로 다운캐스트할 수 있다는 것을 인지합니다. 그러므로 이 함수는 LabVIEW에 subVI 노드의 클래스 출력을 입력 클래스 타입과 일치하도록 다운캐스트해도 안전하다는 것을 알립니다.

    관련 정보

    LabVIEW 클래스 캐스팅하기

    예제

    LabVIEW 포함되는 다음 예제 파일을 참조하십시오.

    • labview\examples\Object-Oriented Programming\Preserve Run-Time Class\Preserve Run-Time Class.lvproj