Home
Support
使用 Call Library Function Node 呼叫會回傳空白字元(Null Character)的 DLL 函式
使用 Call Library Function Node 呼叫會回傳空白字元(Null Character)的 DLL 函式
主要軟體:
主要軟體版本: 7.1
主要軟體修正版本: 7.1
次要軟體: N/A
問題: 我的 Call Library Function Node 呼叫 DLL 函式時無法回傳完整的字串
解答: 讓 DLL 函式回傳包含空字元的字串是可行的。要做到這點,這個字串必須被設定為
數字的位元組陣列〈array of byte〉。以下的步驟是完成這個設定的方法之一:
1. 使用
Initialize Array VI 初始化一個陣列。將一個長度為 U8 的數字常數連結到
Initialize Array 的
element 輸入;同時將
dimension size 設定大於或等於回傳
字串中字元的數目。
2. 將這個初始化的陣列設定為
Call Library Function Node 的輸入參數。
3. 使用
Byte Array to String VI 將 Call Library Function Node 的位元組陣列〈
array of byte〉的輸出轉換為字串。
以下附上兩個範例程式。這兩個 VI 都呼叫了
nationalinstruments.dll;而這個 DLL
回傳一個包含 14 個字元的字串 "Labview/0Rocks/0",其中 /0 是在兩個字中宇與字
串結束時的空白字元。第一個範例
〈InvalidDLLReadNullBytes.vi〉沒有初始化位元
組陣列的資料型態因此沒有成功讀回回傳的字串;而第二個範例
〈IValidDLLReadNullBytes.vi〉
按照以上的步驟從 dll 中回傳完整的字串。
相關連結:
附加檔案: - nationalinstruments.dll - ValidDLLReadNullBytes.vi
- ATTPIRGZ
- InvalidDLLReadNullBytes.vi
- ATTKV7FL
報告日期: 06/14/2004
最後更新: 07/10/2007
文件偏號: 3AD7S2XR
Other Support Options
Ask the NI Community
Collaborate with other users in our discussion forums
Request Support from an Engineer
A valid service agreement may be required, and support options vary by country.