Index: Include/Classes/System/Diagnostics/TraceListener.ab
===================================================================
--- Include/Classes/System/Diagnostics/TraceListener.ab	(revision 146)
+++ Include/Classes/System/Diagnostics/TraceListener.ab	(revision 147)
@@ -30,5 +30,6 @@
 	' コピーコンストラクタ
 	Sub TraceListener( ByRef listener As TraceListener )
-		memcpy( VarPtr( This ), VarPtr( listener ), SizeOf( TraceListener ) )
+		indentLevel = listener.indentLevel
+		indentSize = listener.indentSize
 	End Sub
 
Index: Include/Classes/System/Diagnostics/TraceListenerCollection.ab
===================================================================
--- Include/Classes/System/Diagnostics/TraceListenerCollection.ab	(revision 146)
+++ Include/Classes/System/Diagnostics/TraceListenerCollection.ab	(revision 147)
@@ -1,17 +1,13 @@
 ' リスナコレクション
 Class TraceListenerCollection
-	ppListeners As **TraceListener
+	pListeners As *TraceListener
 	count As Long
 Public
 
 	Sub TraceListenerCollection()
-		ppListeners = _System_malloc( 1 )
+		pListeners = _System_malloc( 1 )
 	End Sub
 	Sub ~TraceListenerCollection()
-		Dim i As Long
-		For i = 0 To ELM( count )
-			Delete ppListeners[i]
-		Next
-		_System_free( ppListeners )
+		_System_free( pListeners )
 	End Sub
 
@@ -22,6 +18,6 @@
 	' リスナを追加
 	Sub Add( listener As TraceListener ) As Long
-		ppListeners = _System_realloc( ppListeners, ( count + 1 ) * SizeOf( *TraceListener ) )
-		ppListeners[count] = New TraceListener( listener )
+		pListeners = _System_realloc( pListeners, ( count + 1 ) * SizeOf( LONG_PTR ) )
+		pListeners[count] = listener
 		count++
 	End Sub
@@ -61,5 +57,5 @@
 
 	' インデクサ ( Getter )
-	Function Operator[] ( index As Long ) ByRef As TraceListener
+	Function Operator[] ( index As Long ) As TraceListener
 		If index < 0 or count <= index Then
 			' TODO: エラー処理
@@ -67,5 +63,5 @@
 		End If
 
-		Return ByVal ppListeners[index]
+		Return pListeners[index]
 	End Function
 
Index: Include/Classes/System/Diagnostics/base.ab
===================================================================
--- Include/Classes/System/Diagnostics/base.ab	(revision 146)
+++ Include/Classes/System/Diagnostics/base.ab	(revision 147)
@@ -12,6 +12,6 @@
 	' コンストラクタ
 	Sub _System_TraceBase()
-		Dim _System_defaultTraceListener As DefaultTraceListener
-		listeners.Add( _System_defaultTraceListener )
+		Dim defaultTraceListener As DefaultTraceListener
+		listeners.Add( defaultTraceListener )
 
 		indentLevel = 0
@@ -65,5 +65,5 @@
 		Dim i As Long
 		For i = 0 To ELM( listeners.Count )
-			Dim ByRef listener = listeners[i]
+			Dim listener = listeners[i]
 			listener.Write( value )
 		Next
@@ -72,5 +72,5 @@
 		Dim i As Long
 		For i = 0 To ELM( listeners.Count )
-			Dim ByRef listener = listeners[i]
+			Dim listener = listeners[i]
 			listener.Write( message )
 		Next
@@ -79,5 +79,5 @@
 		Dim i As Long
 		For i = 0 To ELM( listeners.Count )
-			Dim ByRef listener = listeners[i]
+			Dim listener = listeners[i]
 			listener.Write( value, category )
 		Next
@@ -86,5 +86,5 @@
 		Dim i As Long
 		For i = 0 To ELM( listeners.Count )
-			Dim ByRef listener = listeners[i]
+			Dim listener = listeners[i]
 			listener.Write( message, category )
 		Next
@@ -95,5 +95,5 @@
 		Dim i As Long
 		For i = 0 To ELM( listeners.Count )
-			Dim ByRef listener = listeners[i]
+			Dim listener = listeners[i]
 			listener.WriteLine( value )
 		Next
@@ -102,5 +102,5 @@
 		Dim i As Long
 		For i = 0 To ELM( listeners.Count )
-			Dim ByRef listener = listeners[i]
+			Dim listener = listeners[i]
 			listener.WriteLine( message )
 		Next
@@ -109,5 +109,5 @@
 		Dim i As Long
 		For i = 0 To ELM( listeners.Count )
-			Dim ByRef listener = listeners[i]
+			Dim listener = listeners[i]
 			listener.WriteLine( value, category )
 		Next
@@ -116,5 +116,5 @@
 		Dim i As Long
 		For i = 0 To ELM( listeners.Count )
-			Dim ByRef listener = listeners[i]
+			Dim listener = listeners[i]
 			listener.WriteLine( message, category )
 		Next
@@ -125,5 +125,5 @@
 		Dim i As Long
 		For i = 0 To ELM( listeners.Count )
-			Dim ByRef listener = listeners[i]
+			Dim listener = listeners[i]
 			listener.WriteIf( condition, value )
 		Next
@@ -132,5 +132,5 @@
 		Dim i As Long
 		For i = 0 To ELM( listeners.Count )
-			Dim ByRef listener = listeners[i]
+			Dim listener = listeners[i]
 			listener.WriteIf( condition, message )
 		Next
@@ -139,5 +139,5 @@
 		Dim i As Long
 		For i = 0 To ELM( listeners.Count )
-			Dim ByRef listener = listeners[i]
+			Dim listener = listeners[i]
 			listener.WriteIf( condition, value, category )
 		Next
@@ -146,5 +146,5 @@
 		Dim i As Long
 		For i = 0 To ELM( listeners.Count )
-			Dim ByRef listener = listeners[i]
+			Dim listener = listeners[i]
 			listener.WriteIf( condition, message, category )
 		Next
@@ -155,5 +155,5 @@
 		Dim i As Long
 		For i = 0 To ELM( listeners.Count )
-			Dim ByRef listener = listeners[i]
+			Dim listener = listeners[i]
 			listener.WriteLineIf( condition, value )
 		Next
@@ -162,5 +162,5 @@
 		Dim i As Long
 		For i = 0 To ELM( listeners.Count )
-			Dim ByRef listener = listeners[i]
+			Dim listener = listeners[i]
 			listener.WriteLineIf( condition, message )
 		Next
@@ -169,5 +169,5 @@
 		Dim i As Long
 		For i = 0 To ELM( listeners.Count )
-			Dim ByRef listener = listeners[i]
+			Dim listener = listeners[i]
 			listener.WriteLineIf( condition, value, category )
 		Next
@@ -176,5 +176,5 @@
 		Dim i As Long
 		For i = 0 To ELM( listeners.Count )
-			Dim ByRef listener = listeners[i]
+			Dim listener = listeners[i]
 			listener.WriteLineIf( condition, message, category )
 		Next
@@ -195,5 +195,5 @@
 		Dim i As Long
 		For i = 0 To ELM( listeners.Count )
-			Dim ByRef listener = listeners[i]
+			Dim listener = listeners[i]
 			listener.IndentLevel = indentLevel
 		Next
@@ -209,5 +209,5 @@
 		Dim i As Long
 		For i = 0 To ELM( listeners.Count )
-			Dim ByRef listener = listeners[i]
+			Dim listener = listeners[i]
 			listener.IndentSize = indentSize
 		Next
