首页 | 新闻 | 新品 | 文库 | 方案 | 视频 | 下载 | 商城 | 开发板 | 数据中心 | 座谈新版 | 培训 | 工具 | 博客 | 论坛 | 百科 | GEC | 活动 | 主题月 | 电子展
返回列表 回复 发帖

LABVIEW调用DLL文件

LABVIEW调用DLL文件

dll


各位高手,可否解决本人的一个问题,我欲调用如下DLL 文件,
alll_API int hello (BYTE* lown);
// to active the lown
// lown is a buffer of 3 elements
// change llown[] is [L_DIS, 0, 0]
// alternate lown[] is [0, L_ELE_AL, 0]


如果用字符串数组,而DLL 必须返回的是一个DATA型的数组,这样是行不通的,如果要调用上述DLL 文件,是否必须重新编译DLL,还是用CIN呢 
alll_API ? stdcall?


int hello (BYTE* lown); 
"Call Library Function Node.vi" setting:
1. return type: Numeric | Signed 32-bit Integer
2. arg1 | Numeric | Unsigned 8-bit Integer | ointer to value


LV 输入 1D(或者多维)U8 array,输出为 I32。
> TCHART:
A WCHAR if UNICODE is defined, a CHAR otherwise.
> WCHAR:
16-bit Unicode character.
> CHAR
8-bit Windows (ANSI) character.


★所有的 Windows 数据类型请参考以下链接★:
http://msdn.microsoft.com/librar ;... dows_data_types.asp


EpromW(TCHART Efile[],HWND,hWnd)
"Call Library Function Node.vi" setting:
1. 如果返回类型是 void,return type: void
2. arg1: 直接用 string 试试看
3. arg2: Numeric | Unsigned 32-bit Integer | value


ps: HWND 就是窗口句柄,一般用 DWORD,就是 U32

希望能够在不久的将来有次合作的机会  群:18994538 QQ: 364304745  个人主页:http://ldmcu.shangwusou.com/
调用dll

现使用一块接口卡采集数据,通过调用DLL可以实现对采集卡的状态读取等,函数原型是int _stdcall U***DLLInit(HANDLE instance)图1
而采集数据的函数原型是int _stdcall U***_ReadADOnce(void *Data,int *ReadLen)图2 一运行就退出,不知是不是数据类型的问题但LABVIEW中没有INT的类型,不知如何解决
这个和周立公的一样。第二个是对的。第一个是个缓冲区,你可以用字符串的handlle来
你可以把第二个参数设置为string,Pass为c string Pointer试一试
你说的一运行就自动退出labview的现象以前就讨论过了!
是Calling Convertions没有设对!
可以试着将Calling Convertions改为standcall看看!
希望能够在不久的将来有次合作的机会  群:18994538 QQ: 364304745  个人主页:http://ldmcu.shangwusou.com/
dddddddd
返回列表