クラス内にあるStatic変数は、Newした変数が違うと
共有できないのでしょうか?
sample関数の
> Debug.Print c1.test
> Debug.Print c2.test
> Debug.Print c1.test
> Debug.Print c2.test
では
1、2、3、4
と表示されて欲しいのですが。。。
実際には
1、1、2、2
と表示されます。
モジュールを使用しなければ出来ないのでしょうか?
環境:VB6.0
宜しくお願いします。
以下プログラム-------------------------------
Sub sample()
Dim c1 As TestClass
Dim c2 As TestClass
Set c1 = New TestClass
Set c2 = New TestClass
Debug.Print c1.test ' ← 1が表示される
Debug.Print c2.test ' ← 1が表示される
Debug.Print c1.test ' ← 2が表示される
Debug.Print c2.test ' ← 2が表示される
End Sub
-------------------------
※ TestClass.cls
Public Property Get test() As Long
Static i As Long
i = i + 1
test = i
End Property
VB6にはクラス変数はありません.
ご提示の static i as long は関数内の制的変数です.
VB6でクラス変数の機能を代用する場合は,
標準モジュールにPublicで組み込むなど,クラス外で共有する方法しかありません.
遅くなりました
やっぱり、そうなんですね。
ありがとうございました。
解決のチェック付け忘れました。
編集 削除