為何我無法從我的DLL中得到數值。



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

問題: 我試著存取一個DLL檔來利用參考元傳遞數值。系統在Visual Basic 中使用正常但當我試著在LabVIEW中做相同的事情時,我無法得到任何數值。我也沒有得到任何錯誤,為何會發生這種事?我如何除錯?

解答: 有一些事情你必須知道,以確定你已經從DLL中得到數值:
1.確定函式原型符合在DLL中的原型。一些函式多半有一個int的回傳型態,但被呼叫為void。LabVIEW將預設地給此函式一個void的回傳型態。如果函式的確擁有一個int的回傳型態,你將無法得到正確的數值。
2.另一個需要被考慮的因素為檢查你是用傳址呼叫或是傳值呼叫,如果你是用傳值呼叫的方式,它將無法運作,因為在DLL中的函式是被指定為傳回一數值至指標中,而此指標是用傳址呼叫的方式來做。因此,請將之改為傳址呼叫。
3.LabVIEW是一個資料流環境,也因此你將需要在Call Library Node的輸出中產生顯示元,以便看到此呼叫的輸出。如果你沒有連線任何輸出,你將無法看到任何更新後的值,因為這些數值將無法傳出這個VI。
這些步驟應該可以解決這個問題。

相關連結: KnowledgeBase 2G9GDCOH: LabVIEW Searching for a DLL Used in the Call Library Function Node

附加檔案:





報告日期: 11/13/2004
最後更新: 12/07/2004
文件偏號: 3FCAE43F