注册 登录
编程论坛 VB6论坛

vb关于指针的问题

fairy_tale 发布于 2014-12-22 10:19, 561 次点击
这是VC写的dll函数,我想通过VB写一段程序来调用这个函数从而读取马达的实际位置值,但是long* lActPos参数在VB中该如何定义,并且怎么读取被保存的值?
Public Declare Function FAS_GetActualPos Lib "EziMOTIONPlusR.dll" (ByVal nPortNo As Byte, ByVal iSlaveNo As Byte, lActPos As Long) As Long

读取马达实际位置值
int FAS_GetActualPos(
BYTE nPortNo,
BYTE iSlaveNo,
long* lActPos
);
参数
nPortNo
相关马达端口值
iSlaveNo
相关马达端口值
lActPos
参数指针,实际位置值将保存
3 回复
#2
fairy_tale2014-12-22 11:07
VC是通过
nRtn = FAS_GetActualPos(nPortNo, iSlaveNo, &lValue);
printf("ACTPOS : %d \n", lValue);
来实现的,想问下VB怎样实现上面的功能
#3
风吹过b2014-12-22 11:22
lActPos

这个值里面保存是什么类型的数据,定义一个对应的数据类型,申明函数时,申明是按地址传递该参数。

该函数是在这个地址写入 马达实际位置,所以按地址传递该参数进去。调用完成后,直接使用这个变量就可以了。
#4
fairy_tale2015-01-15 11:49
回复 3楼 风吹过b
非常感谢,我现在明白了。
1