vb2010好奇怪的问题,子窗体调dll函数报错

雨陽 2013-11-17 01:58:05
vb调用一个VC6写的的dll,VB6怎么调用都没问题
VB2010需要把所有long类型全转化为integer类型才行(这只是在启动主窗体中调用dll中的函数)
如果在mdi子窗体中调用dll中的函数则会报这个错误:


我所有的dll中的函数都是已经在模块中声明好了的

'结构声明:
Public Structure CapInfoStruct
Dim Buffer As Integer
Dim Height As Integer
Dim Width As Integer
Dim OffsetX As Integer
Dim OffsetY As Integer
Dim Exposure As Integer

Dim Gain() As Byte
Dim Control As Byte
Dim InternalUse As Byte
Dim ColorOff() As Byte
Dim Reserved() As Byte
End Structure


'函数声明:
Public Declare Function HqDLSetCapInfo Lib "HQDLAPI.dll" (ByRef hCamera As Integer, ByRef pCapInfo As CapInfoStruct) As Integer

Public m_hDevice As Long '这里的long不能改为integer,改之后在启动窗体中调用都会报上面错误
Public m_CapInfo As CapInfoStruct


'调用:
HqDLSetCapInfo(m_hDevice, m_CapInfo)



...全文
97 点赞 收藏 1
写回复
1 条回复
切换为时间正序
当前发帖距今超过3年,不再开放新的回复
发表回复
雨陽 2013-12-30
自已解决了,用VB6做了一个带数据类型的dll,把自定义数据类型放到了dll里,再用vb2010去调用
回复
相关推荐
发帖
VB基础类
创建于2007-09-28

7517

社区成员

VB 基础类
申请成为版主
帖子事件
创建了帖子
2013-11-17 01:58
社区公告
暂无公告