したがって、オブジェクトのプライベート変数の 1 つが配列であり、次のように宣言された 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)
ちなみに、プロパティ Get をパブリック関数に置き換えると、まったく同じエラーが発生します...