在LabVIEW物件導向中,當Child Class損毀時,對應的Parent Class也會隨之有問題



主要軟體:
主要軟體版本: 8.2
主要軟體修正版本: 8.2
次要軟體: N/A

問題: 在LabVIEW 8.2以及之後的版本中,當Child Class損毀時,對應的Parent Class也會隨之有問題。由於Child Class是繼承自Parent Class的,也因此當Parent Class無法順利運作時對應的Child Class有問題的狀況是合理的。但為什麼狀況反過來的時候卻也是如此?

解答:

Child Class的損毀狀況之所以會影響到Parent Class是由於即使程式中Child Class沒有任何的instance,對於程式來說還是會把該child class的reference還是會被取用到。如果這個reference被傳到Dynamic Dispatch的VI中,LabVIEW就會因為這個覆載的class損毀而造成無法預期的終止。

也因此,當使用到parent的VI在執行的時候,會鎖住parent以及對應的child class。而且損毀的child class也會造成parent class是損毀的狀態。在LabVIEW 8.5以及之後的版本中,當class底下任何一個VI遺失,parent class遺失,或是private data未定義時也會造成class判斷為損毀。



相關連結: LabVIEW Help: Developing LabVIEW Classes
KnowledgeBase 3ZACTTKP: Renaming Classes in LabVIEW Object-Oriented Programming
KnowledgeBase 4OKDCDES: Managing the Resulting Files from a Build Containing LabVIEW Classes

附加檔案:


ActivityParser.zip - ActivityParser.zip



報告日期: 05/08/2006
最後更新: 04/30/2015
文件偏號: 3X5EH4AR