vb中调用DLL出错请帮忙

lyshw 2003-06-06 02:57:14
vb中我调用一个DLL中的函数,此函数需要一个参数
参数类型是 BYTE *_bStringMode ,我用String型
调用时出现错误:ByRef参数类型不符。
请问如何解决

...全文
26 3 打赏 收藏 转发到动态 举报
写回复
用AI写文章
3 条回复
切换为时间正序
请发表友善的回复…
发表回复
reayi 2003-06-06
  • 打赏
  • 举报
回复
或者这样:
Function test lib "test.dll" (_bStringMode As Long) As Long

Dim b(maxLen) As Byte
Dim p As Long
Dim s As String

test p
rtlMoveMemory b(0), p, maxLen
s = StrConv(b, vbUnicode)

如果不行,把bStringMode As Long 声明成byval bStringMode As Long试试
reayi 2003-06-06
  • 打赏
  • 举报
回复
可以这样声明和调用:
Function test(parm As any ) as Long

Dim b(maxLen) As Byte

test b(0)
hiker_lx 2003-06-06
  • 打赏
  • 举报
回复
在VB中申明该DLL中的函数时使用ByRef variable As Byte,variable结果为 Byte 类型的表达式。

1,486

社区成员

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

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