VC的函数是:
long SystemInit(int nBaudRate,int nPorts,ShakeHandAnswer* data,int nTimeout=1500);
结构体定义:
struct ShakeHandAnswer {
BYTE byProtocolType;
BYTE byPhoneType;
char chFactoryCode[11];
char chVersion[5];
BYTE byPhoneFunc; }我用VB是这样写的:
结构体:Private Type ShakeHandAnswer
byProtocolType As Byte
byPhoneType As Byte
chFactoryCode(0 To 10) As String
chVersion(0 To 4) As String
byPhoneFunc As Byte
End Type
函数声明:
Private Declare Function SystemInit Lib "shortmessage.dll" (ByVal nBaudRate As Integer, ByVal nPorts As Integer,ByRef data As ShakeHandAnswer, Optional ByVal nTimeout As Integer = 1500) As Long
函数调用:
Dim p As ShakeHandAnswer
Print SystemInit(9600, 1, p)
程序运行后系统崩溃,有内存溢出,请问这是什么原因?请高手帮忙!
long SystemInit(int nBaudRate,int nPorts,ShakeHandAnswer* data,int nTimeout=1500);
结构体定义:
struct ShakeHandAnswer {
BYTE byProtocolType;
BYTE byPhoneType;
char chFactoryCode[11];
char chVersion[5];
BYTE byPhoneFunc; }我用VB是这样写的:
结构体:Private Type ShakeHandAnswer
byProtocolType As Byte
byPhoneType As Byte
chFactoryCode(0 To 10) As String
chVersion(0 To 4) As String
byPhoneFunc As Byte
End Type
函数声明:
Private Declare Function SystemInit Lib "shortmessage.dll" (ByVal nBaudRate As Integer, ByVal nPorts As Integer,ByRef data As ShakeHandAnswer, Optional ByVal nTimeout As Integer = 1500) As Long
函数调用:
Dim p As ShakeHandAnswer
Print SystemInit(9600, 1, p)
程序运行后系统崩溃,有内存溢出,请问这是什么原因?请高手帮忙!
Private Type ShakeHandAnswer
byProtocolType As Byte
byPhoneType As Byte
chFactoryCode(0 To 10) As Byte
chVersion(0 To 4) As Byte
byPhoneFunc As Byte
End Type然后修改一下函数定义:
Private Declare Function SystemInit Lib "shortmessage.dll" (ByVal nBaudRate As Long, ByVal nPorts As Long,data As Any, Optional ByVal nTimeout As Long= 1500) As Long