Lotus notes 如何在Lotusscript函数中返回用户数据类型的动态数组

Lotus notes 如何在Lotusscript函数中返回用户数据类型的动态数组,lotus-notes,lotusscript,Lotus Notes,Lotusscript,我有一个用户定义的数据类型: 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"

我有一个用户定义的数据类型:

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”行给出了以下编译错误:images上的类型不匹配


有什么想法吗?

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

使用
代替
类型

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

使用数组的另一种方法是使用列表,尤其是在元素数量发生变化时。