LABVIEW调用DLL遇到的问题
我利用labview调用c语言编译的dll文件时,发现dll文件中的函数有结构体指针的参数类型,而labview中没有对应的参数类型,这该怎么办?我在别的网站上发现用将结构体的参数放在簇中,可以实现labview调用DLL中的结构体指针,可是有的结构体指针是可以的,有的结构体指针不行,这是怎么回事?希望得到大家的关注和支持,谢谢 你说的不错,有的可以有的不可以,这个是LV内存管理机制不同造成的一般情况下按正常设定都是可以的,
看那位朋友有空看下例子吧 你调用形式写错了,这个要选择API形式,而不是c call,这点需要很小心的 谢谢,可是我改了调用形式,程序还是不行,这难道真的是结构体指针的问题?希望哪位大侠帮帮忙。 你既然能用c编写dll,那先用VC调用下它,看看能不能正常工作。
然后,才是考虑在LV下的移植工作。 你说的不行是什么意思?是出现错误对话框然后labview全部退出呢?还是说运行了没有什么反映呢? 我最后没有调用DLL,通过串口monitor,将串口协议提取出来了,并将个别需要的字符通过串口monitor截取下来,然后通过串口对led进行了简单的操作,这种方法舍弃了原来DLL中的很多函数,局限性较大。但能解决现在面临的问题了,我上次说不行的意思是,将调用方式改为了api调用,仍然运行失败,希望大家共同关注这一问题,NI的人说结构体指针是他们的软件不支持的,部分成功的例子只是簇碰巧了适合而已。 不行的具体意思是:labview仍然是强行关闭 可能涉及结构体对齐的问题。。。不过我这里只要修改下调用方式就行了,传上代码,你运行下,我这里不会退出labview的 呵呵,各位用的版本都好高啊,不能打开,我用的是8.0的,8.2好像要求计算机能上网:( :( :( :( 谢谢,飞雨天,虽然我现在还是不能完全将这个问题解决,项目的原因时间不可能拖得太久,但是还是谢谢你的关注
页:
[1]