使用 LabVIEW To More Specific Class 時遇到 Error 1448 Bad Type Cast

更新 Jan 18, 2024

產品資訊

程式語言

  • LabVIEW G

問題敘述

  • 我嘗試在 LabVIEW 中把 Parent Class 轉換為 Child Class,但在執行時不斷看到 Error 1448 ,請問為什麼會這樣?
  • 當使用 To More Specific Class function  從一個 Class 轉換為另一個 Class 時,LabVIEW會回報以下錯誤,請問是什麼原因造成的?

Error 1448 occurred at To More Specific Class in <library name>.lvlib:<class name>.lvclass:<VI name>.vi

Possible reason(s):

LabVIEW: (Hex 0x5A8) Bad type cast.  LabVIEW cannot treat the run-time value of this LabVIEW class as an instance of the given LabVIEW class.

解決方案

當不滿足  To More Specific Class function 的執行時條件時,就會出現此錯誤。在執行時,reference 輸入端點上的 Class 必須是:
  • 被轉換為的類型,即與目標 Class 輸入上的 Class 相同的 Class 類型。
  • 或者,轉換類型的 Child Class,即目標 Class 輸入上的 Class 的 Child Class。
確保reference  輸入端點的類別符合這些要求。

相關資訊

To More Specific Class 函式允許您從子類轉換為父類,但反之則不然。
如果您需要從父類「轉換」到子類,您必須:
  • 建立 Child  Class的新 Instance (實例)。
  • 在 Parent Class 上建立一個 Accessor VI,以允許 Chile Class 存取 Parent Class 的資料。