我有这个用户定义的数据类型:
Type Image
Filename As String
Label As String
End Type
我想创建一个函数,它可以返回一个图像数组。到目前为止,我已经创建了这个:
Function GetImages() As Variant
Dim images(1) As Image
Dim image0 As Image
image0.Filename = "test0.txt"
image0.Label = "test0"
Dim image1 As Image
image1.Filename = "test1.txt"
image1.Label = "test1"
images(0) = image0
images(1) = image1
GetImages = images
End Function
"GetImages = images"这行给了我这个编译错误:
任何想法?
不能将type数组转换为Variant。
用Class
代替Type
:
Class Image
Public Filename As String
Public Label As String
End Class
Function GetImages() As Variant
Dim images(1) As Image
Dim image0 As New Image
image0.Filename = "test0.txt"
image0.Label = "test0"
Dim image1 As New Image
image1.Filename = "test1.txt"
image1.Label = "test1"
Set images(0) = image0
Set images(1) = image1
GetImages = images
End Function
你可以访问像type elements这样的类元素:
Dim imgs As Variant
imgs = GetImages()
Print imgs(0).filename