说三道四技术文摘-感悟人生的经典句子
说三道四 > 文档快照

vb中调用DLL出错请帮忙

编辑:说三道四文库 发布时间:2018-04-19 05:49
HTML文档下载 WORD文档下载 PDF文档下载
vb中我调用一个DLL中的函数,此函数需要一个参数
参数类型是 BYTE *_bStringMode ,我用String型
调用时出现错误:ByRef参数类型不符。
请问如何解决

在VB中申明该DLL中的函数时使用ByRef variable As Byte,variable结果为 Byte 类型的表达式。
可以这样声明和调用:
Function test(parm As any ) as Long

Dim b(maxLen) As Byte

test b(0)
或者这样:
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试试
备案号:鲁ICP备13029499号-2 说三道四 www.s3d4.cn 说三道四技术文摘