怎么往类模块的调用里传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