使用 VB 6.0 将数组作为参数传递给类资源库



我需要传递一个String数组来使用其setter方法设置类属性。数组是在模块中声明的,它使用 Redim Preserve 完美地设置了值。调用类 setter 方法时,它会出错。如果我继续不设置数组数据类型,它可以工作。但是我需要将数据类型声明为 String .

我收到编译错误"类型不匹配:需要数组或用户定义的类型"。

Module
    Dim sPageDetails() As String
    ' set some values to array
    ' Declare class instance
    dim x as new X
    with x
       .SetPageNumberDetails(sPageDetails)  ' assume SetPageNumberDetails is the setter method in class X
    end with
End module
'class module start X
Private pageDetails() as String
' Setter for pageDetails array
Public Sub SetPageNumberDetails(ByRef sPageDetails() As String)
    pageDetails= sPageDetails
End Sub
' Getter for pageDetails array
Public Function GetPageNumberDetails() As String()
    GetPageNumberDetails= pageDetails
End Function
.SetPageNumberDetails(sPageDetails)

删除括号:

.SetPageNumberDetails sPageDetails

保留括号并添加明确的"Call":

Call .SetPageNumberDetails(sPageDetails)

它需要 5-10 个 CPU 时钟周期(~30 nsec),但代码将更具可读性、可编辑性、可审计性等。它简直是来了....

最新更新