Ignore:
Timestamp:
Mar 11, 2007, 4:40:51 AM (17 years ago)
Author:
dai
Message:

リスナオブジェクトをオブジェクトポインタではなくオブジェクトとして管理するようにした。

File:
1 edited

Legend:

Unmodified
Added
Removed
  • Include/Classes/System/Diagnostics/TraceListenerCollection.ab

    r79 r147  
    11' リスナコレクション
    22Class TraceListenerCollection
    3     ppListeners As **TraceListener
     3    pListeners As *TraceListener
    44    count As Long
    55Public
    66
    77    Sub TraceListenerCollection()
    8         ppListeners = _System_malloc( 1 )
     8        pListeners = _System_malloc( 1 )
    99    End Sub
    1010    Sub ~TraceListenerCollection()
    11         Dim i As Long
    12         For i = 0 To ELM( count )
    13             Delete ppListeners[i]
    14         Next
    15         _System_free( ppListeners )
     11        _System_free( pListeners )
    1612    End Sub
    1713
     
    2218    ' リスナを追加
    2319    Sub Add( listener As TraceListener ) As Long
    24         ppListeners = _System_realloc( ppListeners, ( count + 1 ) * SizeOf( *TraceListener ) )
    25         ppListeners[count] = New TraceListener( listener )
     20        pListeners = _System_realloc( pListeners, ( count + 1 ) * SizeOf( LONG_PTR ) )
     21        pListeners[count] = listener
    2622        count++
    2723    End Sub
     
    6157
    6258    ' インデクサ ( Getter )
    63     Function Operator[] ( index As Long ) ByRef As TraceListener
     59    Function Operator[] ( index As Long ) As TraceListener
    6460        If index < 0 or count <= index Then
    6561            ' TODO: エラー処理
     
    6763        End If
    6864
    69         Return ByVal ppListeners[index]
     65        Return pListeners[index]
    7066    End Function
    7167
Note: See TracChangeset for help on using the changeset viewer.