Ignore:
Timestamp:
May 15, 2007, 2:44:41 AM (17 years ago)
Author:
dai
Message:

[32bitコンパイラ]ByRef指定のInteger/Byte型のローカル変数に値を代入すると強制終了してしまうバグを修正。
(呼び出し単体コードも対応→)関数の戻り値オブジェクトのメンバ・メソッドを一時オブジェクトを介さずに参照できるようにした。
オブジェクトの先頭バッファのサイズを4ポインタ分に拡張した。

File:
1 edited

Legend:

Unmodified
Added
Removed
  • Include/Classes/System/Threading/Thread.ab

    r237 r249  
    4444    End Sub
    4545
    46     Sub Thread(ByRef obj As Thread)
     46    Sub Thread(obj As Thread)
    4747        m_hThread=obj.m_hThread
    4848        m_dwThreadId=obj.m_dwThreadId
     
    151151
    152152    Static Function CurrentThread() As Thread
    153         Dim obj_Thread As Thread()
    154         _System_pobj_AllThreads->CurrentThread(obj_Thread)
    155         Return obj_Thread
     153        Return _System_pobj_AllThreads->CurrentThread()
    156154    End Function
    157155End Class
     
    311309
    312310    'カレントスレッドを取得
    313     Function CurrentThread(ByRef obj_Thread As Thread) As Boolean
     311    Function CurrentThread() As Thread
    314312        Dim dwNowThreadId As DWord
    315313        dwNowThreadId=GetCurrentThreadId()
     
    318316        For i=0 To ELM(ThreadNum)
    319317            If ppobj_Thread[i]->ThreadId=dwNowThreadId Then
    320                 obj_Thread.Thread(ByVal ppobj_Thread[i])
    321                 Return True
    322             End If
    323         Next
    324 
    325         Return False
     318                Return ByVal ppobj_Thread[i]
     319            End If
     320        Next
     321
     322        ' TODO: エラー処理
     323        OutputDebugString( "カレントスレッドの取得に失敗" )
     324        debug
    326325    End Function
    327326
Note: See TracChangeset for help on using the changeset viewer.