读书人

如何往类模块的调用里传RGBQUAD结构体

发布时间: 2012-04-10 21:03:56 作者: rapoo

怎么往类模块的调用里传RGBQUAD结构体数组做参数
'模块
Public Type RGBQUAD
rgbBlue As Byte
rgbGreen As Byte
rgbRed As Byte
rgbReserved As Byte
End Type

'类模块
Public Function x(ByRef g() As RGBQUAD)
Erase g
ReDim g(10)
End Function

'窗体
Private Sub Form_Load()
Me.Show
Dim a As Class1
Set a = New Class1
Dim h() As RGBQUAD
a.x h()
MsgBox UBound(h)
End Sub

现在类模块那个调用的public报错,private才行,可我又必须用public,因为要外部调用并导入一个rgbquad数组,怎么办啊?

[解决办法]
在类模块里面,用户定义类型不能作为参数传递。但在标准模块里面可以:

VB code
'标准模块Option ExplicitPublic Type RGBQUAD    rgbBlue As Byte    rgbGreen As Byte    rgbRed As Byte    rgbReserved As ByteEnd TypePublic Function X(ByRef g() As RGBQUAD)    Erase g    ReDim g(10)End Function 

读书人网 >VB

热点推荐