微波EDA网,见证研发工程师的成长!
首页 > 研发问答 > 测试测量 > 虚拟仪器 > 调用DLL中的函数,参数设置问题?

调用DLL中的函数,参数设置问题?

时间:12-13 整理:3721RD 点击:
我想通过LabVIEW中的Call Library Function Node调用DLL来控制一个仪器
DLL中的一个函数原型是 function putcommand(prec:pointer):longint;
在设置Call Library Function Node的参数时有点迷惑
这个prec:pointer是什么类型? 手册里有句话是这样的
Together with the Putcommand function ,a 32 bit pointer, which points to command
message structur (see below) is to be transferred to the DLL.
TCommandMsg = packed record
                     ApId : longint;
                     commandnr : word;
                     command : tcommand;
              end;
其中 tcommand的数据结构如下
tcommand = packed record
                  commandID : word;
                  param : tparam;
           end;
这种结构里套结构,还涉及指针的DLL与LabVIEW之间的参数传递实在搞得我很迷惑啊.
这里哪位能指点一下.多谢先!

dephi写的程序?

指针一般就是一个数值型数据吧

LabVIEW里没有指针类型啊

都说了是数值型的……

此路无门你偏走  :)
labVIEW对这种结构套结构的参数支持非常不好,NI的技术支持也不赞成这种做法
两个解决方法
1. 对这个dll函数另外写或封装一个版本,把复杂的结构转化简单类型的参数
2. 平化字符串。前提是你对LabVIEW或其他语言的内存分布有很清楚的了解

囧rz

Thx
看来路还很长啊

Copyright © 2017-2020 微波EDA网 版权所有

网站地图

Top