Changeset 388 for trunk/Include/system
- Timestamp:
- Nov 25, 2007, 4:31:35 PM (17 years ago)
- Location:
- trunk/Include/system
- Files:
-
- 2 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/Include/system/debug.sbp
r259 r388 29 29 End Function 30 30 31 Sub _DebugSys_Set_LONG_PTR(pPtr As VoidPtr, lpData As LONG_PTR)32 #ifdef _WIN6433 SetQWord(pPtr,lpData)34 #else35 SetDWord(pPtr,lpData)36 #endif37 End Sub38 39 31 Sub _DebugSys_StartProc(lpSpBase As ULONG_PTR, lpObp As ULONG_PTR) 40 32 Dim i As Long … … 53 45 _DebugSys_lplpSpBase[ThreadNum]=HeapAlloc(GetProcessHeap(),0,SizeOf(ULONG_PTR)*2) 54 46 End If 55 _DebugSys_Set_LONG_PTR(_DebugSys_lplpObp[ThreadNum]+_DebugSys_ProcNum[ThreadNum]*SizeOf(ULONG_PTR),lpObp)56 _DebugSys_Set_LONG_PTR(_DebugSys_lplpSpBase[ThreadNum]+_DebugSys_ProcNum[ThreadNum]*SizeOf(ULONG_PTR),lpSpBase)47 Set_LONG_PTR(_DebugSys_lplpObp[ThreadNum]+_DebugSys_ProcNum[ThreadNum]*SizeOf(ULONG_PTR),lpObp) 48 Set_LONG_PTR(_DebugSys_lplpSpBase[ThreadNum]+_DebugSys_ProcNum[ThreadNum]*SizeOf(ULONG_PTR),lpSpBase) 57 49 58 50 _DebugSys_ProcNum[ThreadNum]=_DebugSys_ProcNum[ThreadNum]+1 … … 77 69 _DebugSys_lplpSpBase[ThreadNum]=HeapAlloc(GetProcessHeap(),0,SizeOf(ULONG_PTR)*2) 78 70 End If 79 _DebugSys_Set_LONG_PTR(_DebugSys_lplpObp[ThreadNum]+_DebugSys_ProcNum[ThreadNum]*SizeOf(ULONG_PTR), lpObp)80 _DebugSys_Set_LONG_PTR(_DebugSys_lplpSpBase[ThreadNum]+_DebugSys_ProcNum[ThreadNum]*SizeOf(ULONG_PTR), lpSpBase)71 Set_LONG_PTR(_DebugSys_lplpObp[ThreadNum]+_DebugSys_ProcNum[ThreadNum]*SizeOf(ULONG_PTR), lpObp) 72 Set_LONG_PTR(_DebugSys_lplpSpBase[ThreadNum]+_DebugSys_ProcNum[ThreadNum]*SizeOf(ULONG_PTR), lpSpBase) 81 73 End Sub 82 74 -
trunk/Include/system/exception.ab
r375 r388 57 57 End If 58 58 Else 59 If lstrcmp( paramName, ex.GetType().FullName ) = 0 Then 59 If isCatchable(New String(paramName), ex.GetType()) Then 60 ' If lstrcmp( paramName, ex.GetType().FullName ) = 0 Then 60 61 ' マッチしたとき 61 62 Return codePos … … 64 65 Wend 65 66 Return defaultCatchCodePos 67 End Function 68 69 Function isCatchable(paramName As String, catchType As System.TypeInfo) As Boolean 70 isCatchable = False 71 While Not ActiveBasic.IsNothing(catchType) 72 Dim catchTypeName = catchType.FullName 73 If paramName = catchTypeName Then 74 isCatchable = True 75 Exit Function 76 End If 77 catchType = catchType.BaseType 78 Wend 66 79 End Function 67 80 End Class … … 114 127 115 128 'TODO: 適切なエラー処理 116 MessageBox( NULL, " 例外", "", MB_OK or MB_ICONEXCLAMATION )117 129 MessageBox( NULL, "Catchされていない例外があります", NULL, MB_OK or MB_ICONEXCLAMATION ) 130 Debug 118 131 Return 119 132 End If
Note:
See TracChangeset
for help on using the changeset viewer.