在VC++中的函数声明 : NET_API void _stdcall QNet_SetNetCallBack(pfNetClient pNetCallBack,LPVOID pContext);typedef void(WINAPI *pfNetClient)(HANDLE hConnect,DWORD dwMsgType,PCALLMSG MsgInfp,LPVOID pContent); //网络回调函数
请问,在VB中如何声明那个QNet_SetNetCallBack函数,和下面的网络回调函数。!~~~
下面是我在VB中的声明,可是会出现约定错误;
Public Declare Sub QNet_SetNetCallBack Lib "Net_Dll.dll" (ByVal pNetCallBack As Any, ByVal pContext As Long)回调函数:
Public Function CallBack(hConnect As Long, _
dwMsgType As Long, _
MsgInfo As TagCtrlMsg, _
pContext As Long) As LongEnd Function
请问,在VB中如何声明那个QNet_SetNetCallBack函数,和下面的网络回调函数。!~~~
下面是我在VB中的声明,可是会出现约定错误;
Public Declare Sub QNet_SetNetCallBack Lib "Net_Dll.dll" (ByVal pNetCallBack As Any, ByVal pContext As Long)回调函数:
Public Function CallBack(hConnect As Long, _
dwMsgType As Long, _
MsgInfo As TagCtrlMsg, _
pContext As Long) As LongEnd Function
byval dwMsgType As Long, _
MsgInfo As TagCtrlMsg, _
pContext As Long) As LongEnd Function最后两个参数,用Byval 还是 byref 谁你。如果用Byval Long 接收指针,再用CopyMemeory把数据拷出来即可。
如果用 Byref 相应类型 直接接收数据,不需要再拷贝数据。