继续关于DLL动态库函数调用问题。
动态库名 daa.DLL
函数:GetMotionStatus
声明: long
GetMotionStatus(long *Sta);
说明: 获取驱动器运动状态
参数: Sta:驱动器运动状态,为0表示没有正在运动的轴
返回值: 返回0表示函数调用成功
备注: 无
VB示例:
Dim S As Long
Dim Res As Long
CbianK.Enabled = False
Res = GetPosDev(pos(0), pos(1), pos(2), 0)
If Res <> 0 Then
MsgBox "Communication Error! Please check the communication!"
End If
If pos(2) < 2 * Mcdl(2) Then
Pmove 3, 2 * Mcdl(2) - pos(2), Cssd(2) * Mcdl(2), Acc(2) * Mcdl(2), Smove(2) * Mcdl(2)
Do
Res = GetMotionStatus(S)
DoEvents
If Stophab = True Then GoTo E:
Loop While (S <> 0)
End If
-----------
我现在想在VFP下调用。
可捣鼓半天一直出错。
Declare Long GetMotionStatus IN V6LinkDll.DLL Long
?GetMotionStatus() 参数太少
?GetMotionStatus(1) 声明DLL调用出现异常
请高手指点,仅有110分,100分奉上!~ dll
[解决办法]
试试:
lnSta=0
Declare Long GetMotionStatus In 盘符\路径\V6LinkDll.Dll Long @Sta
?GetMotionStatus(lnSta)
[解决办法]
Local lnSta As Long
* lnSta=0
* lnSta=-1