建立可傳遞字串的 LabVIEW DLL

更新 Sep 14, 2023

環境

軟體

  • LabVIEW 8.6 Professional
  • LabVIEW

我想在 LabVIEW 中build一個 DLL,將字串或字串陣列作為參數傳遞,請問該怎麼做?

正確建立和呼叫 .DLL 很重要,可以避免程式出錯和 LabVIEW 潛在 crash。下面列出了建立和呼叫 .DLL 以傳遞字串或字串陣列的正確步驟。

build .DLL:
  1. 使用包含要透過 .DLL 傳遞的字串或字串陣列的 Indicators 的 VI 建立一個專案。
  2. 您必須將 Indicators 連結為 VI 的輸出,否則您的 .DLL 將無法正確呼叫這些指令。
  3. 建立Shared Library (DLL),方法是在Project Explorer (專案資源管理器) 中右鍵點擊build specification >> New >> Shared Library (DLL)  ,如圖 1 所示。

圖 1:建立 Shared Library (DLL)
  1. Information選項卡下,輸入Build Specification NameTarget Filename的名稱。
  2. Source Files選項卡下,選擇專案中包含要傳遞的字串的 VI,然後點擊向右的箭頭將它們移至Exported VIs部份,如圖 2 所示。

圖 2:增加導出的 VI
  1. 要定義要在 DLL 中導出的每個 VI 的設置,請單獨選擇每個 VI,然後點擊 Define Prototype 。
  2. 如果您傳遞的是單個字串,請將Pass By參數更改為String Handle Pointer,如圖 3 所示。如果傳遞的是字串陣列,則無需進行任何編輯。

圖 3:VI 屬性定義
  1. 點擊 Define VI Prototype 對話框中的OK
  2. 點擊My DLL Properties 對話框中的Build 。
有關build .DLL 的更多資訊,請參閱: 從 LabVIEW 專案產生 DLL

呼叫 .DLL:

  1. 建立一個將呼叫您的 .DLL 的新 VI。
  2. 為每個要呼叫的函式在呼叫 VI 的Block Diagram(程式區)中放置一個 Call Library Function Node。每個 Call Library Function Node一次只能綁定到一個函式。
  3. 雙擊 Call Library Function Node 打開設定視窗。
  4. Library Name or Path 找到您建立的 .DLL
  5. 選擇適當的函式名稱,下圖 4 為一個範例。

圖 4:選擇合適的函式名稱
  1. 在 Parameters 選項卡中,點擊加號以增加參數。
  2. 設定新參數以具有以下設置,使其與我們建立的 .DLL 相匹配,如圖 5 所示。

圖 5:設定參數設置
  1. 在 VI 的Block Diagram(程式區)上,將一個空字串常數連線到輸入端,將一個字串 Indicator 連線到輸出端。
  2. 執行呼叫者 VI, Indicator 現在應該顯示 DLL 函式定義的輸出。