VB传递参数给dll

lvzehong 2010-03-03 09:00:18
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一调用时就会异常,请求高手出现...
...全文
93 5 打赏 收藏 转发到动态 举报
写回复
用AI写文章
5 条回复
切换为时间正序
请发表友善的回复…
发表回复
白云飘飘飘 2010-03-03
  • 打赏
  • 举报
回复
Public Declare Function StarConventionCheck Lib "NetInf.dll" (StartTime As any, EndTime As any, ByVal isTimeFlag As Long) As Long

Return_RevComm = StarConventionCheck(Byte_BeginTime(0), Byte_EndTime(0), 1&)
Tiger_Zhao 2010-03-03
  • 打赏
  • 举报
回复
C 函数不能用 pasca 方式导出,需要用 stdcall 方式才能通过 API 进行调用。
lvzehong 2010-03-03
  • 打赏
  • 举报
回复
引用 2 楼 chenjl1031 的回复:
第三个参数改成Long是可以的,传0和1。
前两个参数传首地址的话,也可以改成Long,前面加上Byval。


这招取出来也是乱的
东方之珠 2010-03-03
  • 打赏
  • 举报
回复
第三个参数改成Long是可以的,传0和1。
前两个参数传首地址的话,也可以改成Long,前面加上Byval。
  • 打赏
  • 举报
回复
试试
Public Declare Function StarConventionCheck Lib "NetInf.dll" (StartTime As String, EndTime As String, ByVal isTimeFlag As Long) As Long

Return_RevComm = StarConventionCheck(Byte_BeginTime(0), Byte_EndTime(0), 1&)

1,486

社区成员

发帖
与我相关
我的任务
社区描述
VB API
社区管理员
  • API
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧