将LabVIEW字符串转换为字符数组并且将其指针传递给调用函数节点。



主要软件:
主要软件版本: 8.0
主要软件修正版本: N/A
次要软件: LabVIEW Development Systems>>LabVIEW Full Development System

问题:

我想使用LabVIEW调用函数节点来访问DLL函数,我需要将一个字符串传递给该节点,但是该函数的原型需要输入个字符数组指针,我如何创建一个字符串数组并将其指针传递给DLL?



解答:

LabVIEW字符串并不属于具有零终止位的C语言字符串,LabVIEW的字符串类似于Pascal型的字符串,它们的特点是首先四个字节包含有字符串的长度。

有两种将LabVIEW字符串传递到DLL的方法:最通用的方法是定义函数参数为CStr. 当你放置一个调用函数节点时候,双击并设置调用函数原型,设置参数类型为 String 并且格式化为 C String Pointer.注意:该原型CStr等效于 char *.

如果你正在操作基于字符的仪器控制,相对于传递C字符串而言传递8位整型数据将更加容易,当你在程序框图中放置调用函数节点,双击该函数的原型,关键点在于选择类型为Array 并且数据类型为有符号8位整数.数组维度设置为1并且格式化为数组指针,在LabVIEW中,你必须将字符串转换为数值数组,使用的VI是String to Byte Array.vi.

调用函数节点调用方式如下图所示,输出的数值数组将转换为字符串。

需要完整的信息请参考LabVIEW 帮助文档以及如下链接。

相关链接: Developer Zone Tutorial: Writing Win32 Dynamic Link Libraries (DLLs) and Calling Them from LabVIEW
Product Manuals: Using External Code in LabVIEW
LabVIEW Help: Calling Code Written in Text-Based Programming Languages
Using the text above as a reference, please enter your edited text below:


附件:


LV_CStr.GIF - LV_CStr.GIFLabVIEW String.GIF - LabVIEW String.GIF
LV_CharArray.GIF - LV_CharArray.GIF
CLFN_CStr.GIF - CLFN_CStr.GIFCLFN_CharArray.GIF - CLFN_CharArray.GIF



报告日期: 05/11/2006
最近更新: 06/21/2009
文档编号: 3XAAHO7E