Index: trunk/abdev/BasicCompiler_Common/src/Delegate.cpp
===================================================================
--- trunk/abdev/BasicCompiler_Common/src/Delegate.cpp	(revision 334)
+++ trunk/abdev/BasicCompiler_Common/src/Delegate.cpp	(revision 335)
@@ -188,3 +188,8 @@
 		destSource += sourceTemplate.GetResult( values );
 	}
+/*
+	ofstream ofs( ( Jenga::Common::Environment::GetAppDir() + "\\generated_delegate_code.log" ).c_str() );
+	ofs << destSource;
+	ofs.close();
+	*/
 }
Index: trunk/abdev/BasicCompiler_Common/src/Type.cpp
===================================================================
--- trunk/abdev/BasicCompiler_Common/src/Type.cpp	(revision 334)
+++ trunk/abdev/BasicCompiler_Common/src/Type.cpp	(revision 335)
@@ -512,17 +512,20 @@
 		if( pUserProc )
 		{
-			// 基底クラスでの自己解決
-			const CClass *pClass = &classType.GetClass();
-			while( pClass->HasSuperClass() )
+			if( classType.IsObject() )
 			{
-				if( pUserProc->GetParentClassPtr() == &pClass->GetSuperClass() )
+				// 基底クラスでの自己解決
+				const CClass *pClass = &classType.GetClass();
+				while( pClass->HasSuperClass() )
 				{
-					if( pClass->GetSuperClassActualTypeParameters().size() )
+					if( pUserProc->GetParentClassPtr() == &pClass->GetSuperClass() )
 					{
-						// TODO: 適切な形に実装し直す（暫定的にトップの型を持ってきている）
-						typeParameter = pClass->GetSuperClassActualTypeParameters()[0];
+						if( pClass->GetSuperClassActualTypeParameters().size() )
+						{
+							// TODO: 適切な形に実装し直す（暫定的にトップの型を持ってきている）
+							typeParameter = pClass->GetSuperClassActualTypeParameters()[0];
+						}
 					}
+					pClass = &pClass->GetSuperClass();
 				}
-				pClass = &pClass->GetSuperClass();
 			}
 		}
