Changeset 79


Ignore:
Timestamp:
Jan 30, 2007, 2:06:20 AM (13 years ago)
Author:
dai
Message:

Booleanがコンパイラで実装されたので、TypeDefを削除。
DLLコンパイル時にGCの破棄部分が正常に働かないバグを修正。
TraceListener周りを修正。

Location:
Include
Files:
4 edited

Legend:

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

    r66 r79  
    6161
    6262    ' インデクサ ( Getter )
    63     Function Operator[] ( index As Long ) As TraceListener
     63    Function Operator[] ( index As Long ) ByRef As TraceListener
    6464        If index < 0 or count <= index Then
    6565            ' TODO: エラー処理
     
    6767        End If
    6868
    69         Dim tempListener As TraceListener( ByVal ppListeners[index] )
    70         Return tempListener
     69        Return ByVal ppListeners[index]
    7170    End Function
    7271
  • Include/Classes/System/Diagnostics/base.ab

    r69 r79  
    11
    22Class _System_TraceBase
    3     indentLevel = 0 As Long
    4     indentSize = 4 As Long
     3    indentLevel As Long
     4    indentSize As Long
    55
    66
     
    1414        Dim _System_defaultTraceListener As DefaultTraceListener
    1515        listeners.Add( _System_defaultTraceListener )
     16
     17        indentLevel = 0
     18        indentSize = 4
    1619    End Sub
    1720
     
    6265        Dim i As Long
    6366        For i = 0 To ELM( listeners.Count )
    64             Dim temp As TraceListener
    65             temp = listeners[i]
    66             temp.Write( value )
     67            Dim ByRef listener = listeners[i]
     68            listener.Write( value )
    6769        Next
    6870    End Sub
     
    7072        Dim i As Long
    7173        For i = 0 To ELM( listeners.Count )
    72             Dim temp As TraceListener
    73             temp = listeners[i]
    74             temp.Write( message )
     74            Dim ByRef listener = listeners[i]
     75            listener.Write( message )
    7576        Next
    7677    End Sub
     
    7879        Dim i As Long
    7980        For i = 0 To ELM( listeners.Count )
    80             Dim temp As TraceListener
    81             temp = listeners[i]
    82             temp.Write( value, category )
     81            Dim ByRef listener = listeners[i]
     82            listener.Write( value, category )
    8383        Next
    8484    End Sub
     
    8686        Dim i As Long
    8787        For i = 0 To ELM( listeners.Count )
    88             Dim temp As TraceListener
    89             temp = listeners[i]
    90             temp.Write( message, category )
     88            Dim ByRef listener = listeners[i]
     89            listener.Write( message, category )
    9190        Next
    9291    End Sub
     
    9695        Dim i As Long
    9796        For i = 0 To ELM( listeners.Count )
    98             Dim temp As TraceListener
    99             temp = listeners[i]
    100             temp.WriteLine( value )
     97            Dim ByRef listener = listeners[i]
     98            listener.WriteLine( value )
    10199        Next
    102100    End Sub
     
    104102        Dim i As Long
    105103        For i = 0 To ELM( listeners.Count )
    106             Dim temp As TraceListener
    107             temp = listeners[i]
    108             temp.WriteLine( message )
     104            Dim ByRef listener = listeners[i]
     105            listener.WriteLine( message )
    109106        Next
    110107    End Sub
     
    112109        Dim i As Long
    113110        For i = 0 To ELM( listeners.Count )
    114             Dim temp As TraceListener
    115             temp = listeners[i]
    116             temp.WriteLine( value, category )
     111            Dim ByRef listener = listeners[i]
     112            listener.WriteLine( value, category )
    117113        Next
    118114    End Sub
     
    120116        Dim i As Long
    121117        For i = 0 To ELM( listeners.Count )
    122             Dim temp As TraceListener
    123             temp = listeners[i]
    124             temp.WriteLine( message, category )
     118            Dim ByRef listener = listeners[i]
     119            listener.WriteLine( message, category )
    125120        Next
    126121    End Sub
     
    130125        Dim i As Long
    131126        For i = 0 To ELM( listeners.Count )
    132             Dim temp As TraceListener
    133             temp = listeners[i]
    134             temp.WriteIf( condition, value )
     127            Dim ByRef listener = listeners[i]
     128            listener.WriteIf( condition, value )
    135129        Next
    136130    End Sub
     
    138132        Dim i As Long
    139133        For i = 0 To ELM( listeners.Count )
    140             Dim temp As TraceListener
    141             temp = listeners[i]
    142             temp.WriteIf( condition, message )
     134            Dim ByRef listener = listeners[i]
     135            listener.WriteIf( condition, message )
    143136        Next
    144137    End Sub
     
    146139        Dim i As Long
    147140        For i = 0 To ELM( listeners.Count )
    148             Dim temp As TraceListener
    149             temp = listeners[i]
    150             temp.WriteIf( condition, value, category )
     141            Dim ByRef listener = listeners[i]
     142            listener.WriteIf( condition, value, category )
    151143        Next
    152144    End Sub
     
    154146        Dim i As Long
    155147        For i = 0 To ELM( listeners.Count )
    156             Dim temp As TraceListener
    157             temp = listeners[i]
    158             temp.WriteIf( condition, message, category )
     148            Dim ByRef listener = listeners[i]
     149            listener.WriteIf( condition, message, category )
    159150        Next
    160151    End Sub
     
    164155        Dim i As Long
    165156        For i = 0 To ELM( listeners.Count )
    166             Dim temp As TraceListener
    167             temp = listeners[i]
    168             temp.WriteLineIf( condition, value )
     157            Dim ByRef listener = listeners[i]
     158            listener.WriteLineIf( condition, value )
    169159        Next
    170160    End Sub
     
    172162        Dim i As Long
    173163        For i = 0 To ELM( listeners.Count )
    174             Dim temp As TraceListener
    175             temp = listeners[i]
    176             temp.WriteLineIf( condition, message )
     164            Dim ByRef listener = listeners[i]
     165            listener.WriteLineIf( condition, message )
    177166        Next
    178167    End Sub
     
    180169        Dim i As Long
    181170        For i = 0 To ELM( listeners.Count )
    182             Dim temp As TraceListener
    183             temp = listeners[i]
    184             temp.WriteLineIf( condition, value, category )
     171            Dim ByRef listener = listeners[i]
     172            listener.WriteLineIf( condition, value, category )
    185173        Next
    186174    End Sub
     
    188176        Dim i As Long
    189177        For i = 0 To ELM( listeners.Count )
    190             Dim temp As TraceListener
    191             temp = listeners[i]
    192             temp.WriteLineIf( condition, message, category )
     178            Dim ByRef listener = listeners[i]
     179            listener.WriteLineIf( condition, message, category )
    193180        Next
    194181    End Sub
     
    208195        Dim i As Long
    209196        For i = 0 To ELM( listeners.Count )
    210             Dim temp As TraceListener
    211             temp = listeners[i]
    212             temp.IndentLevel = indentLevel
     197            Dim ByRef listener = listeners[i]
     198            listener.IndentLevel = indentLevel
    213199        Next
    214200    End Sub
     
    223209        Dim i As Long
    224210        For i = 0 To ELM( listeners.Count )
    225             Dim temp As TraceListener
    226             temp = listeners[i]
    227             temp.IndentSize = indentSize
     211            Dim ByRef listener = listeners[i]
     212            listener.IndentSize = indentSize
    228213        Next
    229214    End Sub
  • Include/basic.sbp

    r71 r79  
    3535
    3636
    37 '--------------------------------------------------------------------
    38 ' Boolena型の暫定対応
    39 ' ※コンパイラが実装するまではこちらを使いましょう。
    40 TypeDef Boolean = Byte
    41 Const True = 1
    42 Const False = 0
    43 '--------------------------------------------------------------------
     37' Boolena型の定数
     38Const True = 1 As Boolean
     39Const False = 0 As Boolean
    4440
    4541
  • Include/system/gc.sbp

    r18 r79  
    6868        If ppPtr=0 Then Exit Sub
    6969
     70#ifdef _DLL
     71        _destructor()
     72#else
    7073        '解放スレッドを生成
    7174        Dim hThread As HANDLE
     
    7376        hThread=_beginthreadex(NULL,0,AddressOf(DestructorThread),VarPtr(This),0,ThreadId)
    7477        CloseHandle(hThread)
    75         Sleep(INFINITE)
     78        Sleep( INFINITE )
     79#endif
     80
    7681    End Sub
    7782
    7883Private
    79     Function Cdecl DestructorThread() As Long
    80         '-------------------------------------
    81         ' すべてのスレッドを一時停止
    82         '-------------------------------------
    83         _System_pobj_AllThreads->SuspendAllThread()
    84 
    85 
     84    Sub _destructor()
    8685        Dim i As Long
    8786        For i=0 To ELM(n)
     
    103102        'クリティカルセッションを破棄
    104103        DeleteCriticalSection(CriticalSection)
    105 
     104    End Sub
     105    Function Cdecl DestructorThread() As Long
     106        '-------------------------------------
     107        ' すべてのスレッドを一時停止
     108        '-------------------------------------
     109        _System_pobj_AllThreads->SuspendAllThread()
     110
     111        _destructor()
    106112
    107113        'プロセスを終了
Note: See TracChangeset for help on using the changeset viewer.