所以我有一个对象的私有变量,它是一个数组:o_exception,声明为:
Private o_exception() as string
我可以在初始化它的值时对其进行全面测试:下限、上限、值,一切正常。
然后我试图定义一个 let 属性,以便能够从对象外部访问数组的值:
Property Get exception()
On Error GoTo ERREUR
exception = o_exception
On Error GoTo 0
End Property
我仍然完全能够将我的财产识别为一个数组:
lbound(myObject.exception) is available
ubound(myObject.exception) is available
isArray(myObject.exception) returns a yes
但
myObject.exception(0)
给我以下错误:
run-time error 451: Property let procedure not defined and property get procedure did not return an object
我没有 let,因为我不需要它,而且我有非常相似的代码在其他对象上以相同的结构运行。我现在唯一的线索是,由于 myObject 被定义为另一个对象(集合)的成员,我必须通过键入来访问它:
myCollection.myObject.exception(0)
顺便说一句,用公共函数替换 Property Get 会产生同样的错误......