|
▼りった さん:
>Privateで宣言してもオブジェクト毎に変数が作られました。
>クラスで共通の変数は作れますか?
共通のClassを用意するしか思い浮かびませんでした。
最悪としては標準モジュールに広域変数を用意して共通の変数にするとか
も浮かびましたけどさすがにそれは出来ませんね。
'////////////標準モジュール//////////////
Sub main()
Dim cls1 As New Class1
Dim cls2 As New Class1
Dim clsData As New Class2
Set cls1.SetCommonCls = clsData
Set cls2.SetCommonCls = clsData
cls1.SetData = 1
cls2.SetData = 2
Debug.Print cls1.GetData
End Sub
'///////////Class1///////////////
Private mcls As Class2
Public Property Set SetCommonCls(pData As Class2)
Set mcls = pData
End Property
Public Property Let SetData(pData As Long)
mcls.SetData = pData
End Property
Public Property Get GetData() As Long
GetData = mcls.GetData
End Property
'//////////////Class2///////////////
Private mData As Long
Public Property Let SetData(pData As Long)
mData = pData
End Property
Public Property Get GetData() As Long
GetData = mData
End Property
|
|