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)



...全文
184 1 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
1 条回复
切换为时间正序
请发表友善的回复…
发表回复
雨陽 2013-12-30
  • 打赏
  • 举报
回复
自已解决了,用VB6做了一个带数据类型的dll,把自定义数据类型放到了dll里,再用vb2010去调用

7,785

社区成员

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

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