●メモ:VB6.0 クラスのプロパティで配列を扱う
恥ずかしいことにこれしきのコードが解らず,クラスのプロパティに配列を使うときにいつもつまずいていた・・・。以後間違わないようにメモ。解ってしまえばなんでこんなことで悩んでいたのか自分でも不思議だが,バグというのはそういうものである。今まではどうしてもプロパティに配列を使いたいときにはわざわざ値をセットするメソッドを作っていた。
'### hogehoge.cls ###
Private mintArrey(0 to 10) as Integer 'プロパティ格納用 モジュールレベル変数(配列)
Public Function Hoge() as integer 'メソッド
~省略~
End Function
'プロパティの取得
Public Property Get Arrey(ByVal i as Integer) as Integer '配列の添字を引数にする
Arrey = mintArrey(i) '左辺に(i)は不要!
End Property
'プロパティの設定
Public Property Let Arrey(ByVal i as Integer, ByVal Data as Integer) '引数は[添字,内容]
mintArrey(i) = Data
End Property
'### main.bas ###
Private Sub Foo()
Dim i as Integer
Dim j as Integer
Dim ho as New hogehoge 'クラスのインスタンスの宣言
'プロパティへの代入
j = 0
For i = 0 To 10
ho.Arrey(i) = j
j = j + 2
Next i
'プロパティの取得
For i = 0 To 10
Debug.Print ho.Arrey(i)
Next i
End Sub
いまどきVB6.0かよとのご指摘もあろうがご容赦願いたい。VB.NETも環境だけは用意してあるのだが,勉強をサボっているWebmasterである。

コメント
アレイの綴りが間違えているかと思いました
Posted by: あれい | 2011年10月12日 21:51