tagCANDY CGI VBレスキュー(花ちゃん)の Visual Basic 6.0用 掲示板 [ツリー表示へ]   [Home]
一括表示(VB6.0)
タイトル値をクラス内の別のプロシージャでも使うには?
記事No11868
投稿日: 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

[ツリー表示へ]
タイトル一部自己解決しました。
記事No11874
投稿日: 2008/03/24(Mon) 21:44
投稿者tea
熟慮が足りませんでした。
一部ですが、解決しました。
熟慮を重ねて解決したいと思いますが、わからない事があれば、また質問させていただきます。
お騒がせしました。

[ツリー表示へ]