2016-11-12 65 views
1

我有这样的用户定义的数据类型返回用户数据类型的数组dymamic:如何用LotusScript funtion

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

任何想法?

回答

1

您不能将类型数组转换为变体。

使用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 

可以访问类元素等类型的元件:

Dim imgs As Variant 
imgs = GetImages() 
Print imgs(0).filename 
+0

替代使用的阵列是使用列表中,尤其是如果元件的数目变化。 –