我正在调用LabView中用C ++编写的DLL。函数原型是:
ULONG DAQ_Open(PVOID *pHandle);
如何从LabView传递正确的参数?将指针类型指针的参数从LabView传递到DLL只是不可能吗?
答案 0 :(得分:2)
只要您不希望将指向LabVIEW VI的指针传递给回调(这是一个单独的,更难以回答的问题),该参数只是一个指针。配置调用库节点时,请使用“numeric”类型和数据类型“unsigned pointer-sized integer”并传递“指向值的指针”。
这应该给你一个原型:void funcName(uintptr_t * arg1);
答案 1 :(得分:1)
有关从LabVIEW调用DLL的其他示例(包括指针,结构,数组等),这里有一篇方便的文章,链接到其他几个深入的例子: https://decibel.ni.com/content/docs/DOC-9076
答案 2 :(得分:0)
您应该在NI的网站上搜索“dll指针labview”以获得一个想法。此外,LabVIEW附带了一个名为Call DLL.vi的示例,其中包含有关如何实现此目的的示例。可以通过导航到帮助 - >找到示例VI。查找示例,然后搜索DLL。
Call DLL.vi VI允许您浏览外部代码(C和C ++)数据类型的示例以及它们与LabVIEW的接口。每种数据类型都有一个示例VI,用于演示调用库函数节点的使用。要打开特定数据类型的示例VI,请从左侧列表中选择该数据类型,然后按“打开示例VI以获取当前数据类型”按钮。函数原型,函数的源代码以及有关此示例的任何特定详细信息将显示在外部代码信息集群中。