gongkong168 发表于 2009-6-19 22:09:16

LV调用DLL时,能自动完全显示DLL里面的函数吗?






我的LV是8.6版

我下载了一个电脑与PLC通讯DLL,该DLL文件有详细的函数原型说明书。
我用 调用库函数节点 来连接DLL文件,在 调用库函数 对话框的 函数名 列表下列出一些函数名,但这些函数在说明书上一个都没说明。

是不是LV不能完全提取DLL里的所有函数?

现在这个DLL,说明书上提到的函数,LV一个都不显示出来,我试了一下用手工强行将函数名输入进去,LV既然连函数原型都自动显示出来了,但函数返回值出错,LV强制把返回值设为空值。

但有些函数输入进去后,确有提示:尚未定义指定函数的原型。

如果该DLL动态链接库是用VB6.0编写的,也会出现上述现象吗?

如果该DLL动态链接库是用Delphi编写的,也会出现上述现象吗?

我的DLL文件如附件:

gongkong168 发表于 2009-6-19 22:18:14

如果调用出错,那我用500¥买的DLL通讯文件岂不是浪费掉了?
我菜鸟一个,没学过编程,这回可吃亏大了!

在QQ群里发问,高手们的回复如下:

你的那个DLL是用VB写的,很不幸,VB直接生成的DLL其他的语言调用好像都是有问题的

必须要显式声明一下

据经验推测,不只是LV,除了VB自己,包括VC和DELPHI等其他程序调用应该都有问题

LV不能处理指针???LV如果要处理指针,可能还要做DLL来处理

将DLL注册一下

我问问,简单点说吧,DLL里有两个函数,调用第一个是指定二维数组的指针位置,第二个函数不返回任何数,只是读取数据,将数据送到刚才第一个函数里LV知道的位置。所以我想读取数据都读取不到,因为LV里没有处理指针的函数

VB写的DLL要想能正常调用,必需使用改版过的编译器

carduser 发表于 2009-6-20 12:26:35

我好像在群里回复过你了,要注册使用
如图

gongkong168 发表于 2009-6-20 22:25:58

学习了,想不到还有这种使用方法,我还以为调用DLL就只能用 调用库函数节点 然后在它的窗口里配置呢!

gongkong168 发表于 2009-6-22 20:18:46

谢谢 carduser的帮助,
我按照你的方法写了一个程序,并且跟三菱FX1N通讯成功,能控制PLC的动作。
因为是试用版,该DLL只能使用一部分函数。

先安装一楼提供的DLL控件,然后在LV里使用如下方法编程:
自动化引用句柄--打开自动化---调用节点---关闭引用

fhjjwzw 发表于 2009-8-9 11:33:59

关注一下

suny13 发表于 2010-3-26 13:54:01

关注一下,
页: [1]
查看完整版本: LV调用DLL时,能自动完全显示DLL里面的函数吗?