LabVIEW Pro 專業論壇-閒話家常區-與C# dll連結的Error
 
     
 
 
 
LabVIEW 討論區基礎教學每月專題分享技術問題精選online Test
技術討論區 程式分享區 教育訓練與認證區 閒話家常區 工作機會討論區 回報區 ✦LabVIEW NXG 特區✦ 高手專訪系列
 熱門關鍵字 
    取得 NI 協助    量測概念充電站    TOP 資源排行榜    CLD 考前衝刺    3小時內學會 LabVIEW
 您的位置:首頁 > 閒話家常區 > 與C# dll連結的Error
  閒話家常區   板主:joannachen, imlolo
 之1(3篇)
與C# dll連結的Error 
 
kaanthony
暱稱:Ka
經驗值:395
等級:導師
發文:5
回文:12
版本:LabVIEW 2016
闖關狀態:
迷霧之森
前往地圖:
 
字級設定

[+]放大圖片
 
[+]放大圖片
 

這LabVIEW的Case都是再在呼叫dll的功能,大部分功能都能呼叫並正常在LabVIEW執行,但是執行圖中的Set Common Pos的Case就會出現圖中的錯誤,請問有什麼原因嗎?(在C# Form執行這個功能是成功的)

已解決!轉到解決方案
  文章人氣: 1961 讚:0 文章日期:2018/03/08 18:43
mingyenwei

暱稱:銘延
經驗值:2533
等級:總舵主
發文:4
回文:718
版本:LabVIEW 2013
闖關狀態:
飄渺嶺
前往地圖:
1樓
字級設定

我查了幾個網址 (LabVIEW 1172 node) 並覺得下列這篇文章可能跟你有關。這篇是有人討論到傳入什麼東西給.NET Framework node匯出1172算不算是bug,有人回應他

The default value of a .NET control is not a refnum. Therefore I would say this is behaving exactly as expected and not a bug.

 

https://forums.ni.com/t5/LabVIEW/NET-Control-Error-1172-Only-in-executable/td-p/2497534

[+]放大圖片
 

 

這一篇則是提到NULL ObjectID,不論如何,都是傳了一個意料之外的NULL進去,所以發生錯誤。

https://lavag.org/topic/9706-using-net-and-getting-error-1172/

 

 

你可能會發生傳入NULL產生Exception的就只有Reference了。我看了你的程式,你的VI採用FGV的方式,那麼這個VI第一次呼叫的時候,會傳入什麼東西呢?

就一般使用上來說,你可能要用一個Initialize的狀態,讓他進來後會讓你的Shift Register有正確的資訊被儲存在上面,可以給進DLL當作Refnum(也可以不給),然後再讓你的FGV裡面的Shift Register繼續記住在之後沿用他。也可以考慮偷懶一些使用"First Call" VI。雖然這個架構使用FGV,但FGV是不給Shift Register初始值,並不代表第一次呼叫這個DLL (Invoke Node, function) 的時候不需要留意初始化。

 

上面是我的推測,因為不知道你的其他Case寫什麼。

但總之應該是傳入的東西有問題。反過來說,你單次呼叫他的時候,就是正常的了嗎? 那麼你都傳什麼東西給他? 你覺得這樣寫FGV有沒有某個情況會吃到意料之外的Refnum?

 

補充一下,LabVIEW的Refnum大致上可以快速視為是Call by Reference時需要的參考。

第一次呼叫的時候,Shift Register裡面的資料還是未定狀態,也許隨機也許NULL,就這樣直接把這種Reference塞給自製的DLL用,可能會無法處理。

    讚:0 文章日期:2018/03/09 10:30
kaanthony

暱稱:Ka
經驗值:395
等級:導師
發文:5
回文:12
版本:LabVIEW 2016
闖關狀態:
迷霧之森
前往地圖:
2樓
字級設定

我找到出現的原因了,是我編寫的LabVIEW產生了bug而造成,也感謝你的回答

    讚:1 文章日期:2018/03/09 10:22
mingyenwei

暱稱:銘延
經驗值:2533
等級:總舵主
發文:4
回文:718
版本:LabVIEW 2013
闖關狀態:
飄渺嶺
前往地圖:
3樓
字級設定

恭喜除蟲成功 *

    讚:0 文章日期:2018/03/09 10:32
 之1(3篇)
 
 
   會員中心 
帳號:
     
密碼:
     
  以後自動登入
 
註冊
   待回覆文章 
1. 用支持向量機作為-非侵入式負載監測系統
2. 问题请教
3. 關於HSV作圖問題
4. 請問Graph 3d 的背景黑黑的怎麼...
5. waveform chart 在 tab control 切換時會重新累積
 
   Top 5 熱門討論 
1. 【公告中獎名單】下載"快速認識 LabVIEW NXG 的三個秘訣"就抽限量好禮
2. 桌機上的NI-MAX 認不到PXI-1033機箱上的PXI-4072DMM
3. 用支持向量機作為-非侵入式負載監測系統
4. Front panel人機介面 放GI...
5. 請問各位大大 如何寫 觸發微動開關...
 
 
 
LabVIEW討論區 站長信箱 關於我們 站內聲明
國家儀器股份有限公司贊助;Sponsored by NI.
© 2010 National Instruments, Taiwan. All rights reserved. design by begonia