VB传递参数给dll
Dll是用VC写的, 其函数原型为:
extern "C" BOOL PASCAL EXPORT StarConventionCheck(LPVOID strarTime,LPVOID overtime,BOOL isTimeFlag )
我用VB传参数是这们传的:
Public Declare Function StarConventionCheck Lib "NetInf.dll" (StartTime As String, EndTime As String, ByVal isTimeFlag As Integer) As Long
Private Sub cmdCheckComHis_Click()
Dim Return_RevComm As Long
Dim hwnd_lng As Long
Dim StartTime As SYSTEMTIME
Dim EndTime As SYSTEMTIME
Dim Byte_BeginTime(64) As Byte
Dim Byte_EndTime(64) As Byte
Dim FileTime_BeginTime As FILETIME
Dim FileTime_EndTime As FILETIME
With StartTime
.wYear = CheckBeginData.Year
.wMonth = CheckBeginData.Month
.wDay = CheckBeginData.Day
.wHour = 0
.wMinute = 0
.wSecond = 0
.wMilliseconds = 0
End With
With EndTime
.wYear = CheckEndData.Year
.wMonth = CheckEndData.Month
.wDay = CheckEndData.Day
.wHour = 24
.wMinute = 0
.wSecond = 0
.wMilliseconds = 0
End With
SystemTimeToFileTime StartTime, FileTime_BeginTime
SystemTimeToFileTime EndTime, FileTime_EndTime
Call CopyMemory(Byte_BeginTime(0), FileTime_BeginTime, 64)
Call CopyMemory(Byte_EndTime(0), FileTime_EndTime, 64)
Return_RevComm = StarConventionCheck(Byte_BeginTime(0), Byte_EndTime(0), 1)
End Sub
VB一调用时就会异常,请求高手出现...