タイトル | : 値をクラス内の別のプロシージャでも使うには? |
記事No | : 11868 |
投稿日 | : 2008/03/24(Mon) 14:50 |
投稿者 | : tea |
クラス内の以下のoC.FoulCountに入る値は1から3なのですが、 同一クラス内の他のプロシージャでもoC.FoulCountに現在入っ ている値を継続できるようにするにはどうしたらよいのでしょ うか?
例えば以下のプロシージャではoC.FoulCountの値は1で、その後 他のプロシージャで+1加算されて2となり、再び以下で3になる という感じです。
Option ExplicitでDim oC.FoulCount As Integerと宣言してみ ましたが駄目でした。
'mnuFoulをクリックした場合' Private Sub mnuCFoul2_Click(Index As Integer) Dim ix As Long Dim i As Integer 'もし、0の場合は抜ける。' If Index = 0 Then Exit Sub Select Case MSFlexGrid.Row Case eATeamHeadCoachRow: ix = 0: Set oc = Game.Team(ix).Coach Case eATeamAssitantCoachRow: ix = 0: Set oc = Game.Team(ix).ACoach Case eBTeamHeadCoachRow: ix = 1: Set oc = Game.Team(ix).Coach Case eBTeamAssitantCoachRow: ix = 1: Set oc = Game.Team(ix).ACoach End Select oc.Foul mnuCFoul2(Index).Caption MSFlexGrid.TextMatrix(MSFlexGrid.Row, _ oc.FoulCount) = mnuCFoul2(Index).Caption If oc.IsThownOut Then EnabledResult = Not (EnabledResult) EnabledResult = Not (EnabledResult) 'コーチ陣は"C"が2回で退場となるが枠が残っている '場合には"D"を表示。 '取得したファウルが最大数より少ない場合 If oc.FoulCount < Game.Setting.CoachFoulMax Then For i = oc.FoulCount + 1 To Game.Setting.CoachFoulMax MSFlexGrid.TextMatrix(MSFlexGrid.Row, i) = "D" Next End If End If RaiseEvent ChangeFoul(ix) Beep1 End Sub
|