Vb 定义type 出现 用户定义类型不能用

来源:百度知道 编辑:UC知道 时间:2024/06/16 10:00:53
我用VC写了个处理某些东西的DLL函数一个是读取,一个是写入
调用时候
Private Declare Function SetTest Lib "XXX.DLL" (Byval A As Run) As Long
Private Declare Function GetTest Lib "XXX.DLL" (ByRef A As Run) As Long
private Type Run
A As long
B as string * 10
end Type

Private Sub Form_Load()
Dim A As Run
A.A=0
A.B="A"
Call SetTest(A)
End Sub

调用GetTest读取是没问题的就是SetTest不行,说用户定义类型不能用。。

这是什么问题?怎么解决
额,大小写没问题的。。。。。。

Private Declare Function SetTest Lib "XXX.DLL" (Byval A As Run) As Long
关键问题就在这个代码上,A参数在VB中返回的是一个非结构体数据,所以我们要奖他转换结构体。所以声明方法为一下才正确!
Private Declare Function SetTest Lib "XXX.DLL" (Byval A As Any) As Long

private Type Run
A As long
B as string * 10
end Type

Private Sub Form_Load()
Dim A As Run
A.A=0
A.B="A"
Call SetTest(byval &A)
End Sub

你查看一下大小写,在VC中,是区分大小写的,虽然VB不区分,但在声明的时候,要以C中写的一样