'模块
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数组,怎么办啊?
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数组,怎么办啊?
'标准模块
Option ExplicitPublic 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'窗体模块
Option ExplicitPrivate Sub Form_Load()
Me.Show
Dim h() As RGBQUAD
Call X(h())
MsgBox UBound(h)
End Sub