Private Declare Function func Lib "udp_op.dll" _ ByVal lpCallbackfunc As Long) As Long'Callback function Public Function Callbackfunc(ByVal param As Long) As Long Callbackfunc = 1 End FunctionPrivate Sub Command1_Click() Call func(AddressOf Callbackfunc) End Sub
DLL中的一个函数需要传入一个函数指针作为回调. 所以我想要把 Callbackfunc 这个函数的地址传入到DLL提供的这个函数中.结果按下Command1之后,就出现了"Invalid use of AddressOf operator"这个错误.
把下面这段代码放在模块中:'Callback function Public Function Callbackfunc(ByVal param As Long) As Long Callbackfunc = 1 End Function
ByVal lpCallbackfunc As Long) As Long'Callback function
Public Function Callbackfunc(ByVal param As Long) As Long
Callbackfunc = 1
End FunctionPrivate Sub Command1_Click()
Call func(AddressOf Callbackfunc)
End Sub
所以我想要把 Callbackfunc 这个函数的地址传入到DLL提供的这个函数中.结果按下Command1之后,就出现了"Invalid use of AddressOf operator"这个错误.
Public Function Callbackfunc(ByVal param As Long) As Long
Callbackfunc = 1
End Function
你点菜单“工程-添加模块”新建一个模块,然后把代码添加到这里面,保存工程的时候把这个模块保存为一个扩展名是bas的文件就OK了。