Index: trunk/ab5.0/abdev/BasicCompiler_Common/src/Procedure.cpp
===================================================================
--- trunk/ab5.0/abdev/BasicCompiler_Common/src/Procedure.cpp	(revision 461)
+++ trunk/ab5.0/abdev/BasicCompiler_Common/src/Procedure.cpp	(revision 465)
@@ -105,5 +105,5 @@
 	//パラメータ
 	if(sourceOfParams[i]!='('){
-		SetError(1,NULL,nowLine);
+		compiler.errorMessenger.Output(1,NULL,nowLine);
 		return false;
 	}
@@ -111,5 +111,5 @@
 		//クラスのメンバ関数の場合のみ、デストラクタにパラメータがある場合にエラーをだす
 		if(this->GetName()[0]=='~'){
-			SetError(114,NULL,nowLine);
+			compiler.errorMessenger.Output(114,NULL,nowLine);
 			return false;
 		}
@@ -133,5 +133,5 @@
 			if( !this->IsFunction() ){
 				// Sub/Macroの場合
-				SetError(38,this->GetName(),nowLine);
+				compiler.errorMessenger.Output(38,this->GetName(),nowLine);
 			}
 
@@ -140,5 +140,5 @@
 		else
 		{
-			SetError(1,NULL,nowLine);
+			compiler.errorMessenger.Output(1,NULL,nowLine);
 			return false;
 		}
@@ -199,5 +199,5 @@
 			if( isRef == false )
 			{
-				SetError(29,NULL,nowLine);
+				compiler.errorMessenger.Output(29,NULL,nowLine);
 			}
 			isArray = true;
@@ -248,5 +248,5 @@
 
 			if( type.IsNull() ){
-				SetError(3,temporary,nowLine);
+				compiler.errorMessenger.Output(3,temporary,nowLine);
 				type.SetBasicType( DEF_PTR_VOID );
 			}
@@ -261,5 +261,5 @@
 		else{
 			type.SetBasicType( Type::GetBasicTypeFromSimpleName(name) );
-			SetError(-103,name,nowLine);
+			compiler.errorMessenger.Output(-103,name,nowLine);
 		}
 
@@ -325,5 +325,5 @@
 		if(sw){
 			//配列パラメータ
-			if( isRef == false ) SetError(29,NULL,nowLine);
+			if( isRef == false ) compiler.errorMessenger.Output(29,NULL,nowLine);
 			isArray = true;
 
@@ -389,5 +389,5 @@
 
 			if( type.IsNull() ){
-				SetError(3,temporary,nowLine);
+				compiler.errorMessenger.Output(3,temporary,nowLine);
 				type.SetBasicType( DEF_PTR_VOID );
 			}
@@ -402,5 +402,5 @@
 		else{
 			type.SetBasicType( Type::GetBasicTypeFromSimpleName(temporary) );
-			SetError(-103,temporary,nowLine);
+			compiler.errorMessenger.Output(-103,temporary,nowLine);
 		}
 
@@ -421,5 +421,5 @@
 		if( !this->IsFunction() ){
 			// Sub/Macroの場合
-			SetError(38,this->GetName(),nowLine);
+			compiler.errorMessenger.Output(38,this->GetName(),nowLine);
 		}
 
@@ -428,5 +428,5 @@
 				this->GetName()[0]=='~'){
 				//クラスのコンストラクタ、デストラクタがFunction定義の場合はエラーをだす
-				SetError(115,NULL,nowLine);
+				compiler.errorMessenger.Output(115,NULL,nowLine);
 			}
 		}
@@ -435,5 +435,5 @@
 		if( this->returnType.IsNull() )
 		{
-			SetError(3,returnTypeStr,nowLine);
+			compiler.errorMessenger.Output(3,returnTypeStr,nowLine);
 		}
 	}
@@ -442,5 +442,5 @@
 		{
 			// Function定義なのに、戻り値の型がセットされていない
-			SetError(-104,this->GetName().c_str(),nowLine);
+			compiler.errorMessenger.Output(-104,this->GetName().c_str(),nowLine);
 
 			this->returnType.SetBasicType( DEF_DOUBLE );
@@ -495,5 +495,5 @@
 	{
 		// 重複しているため、失敗
-		SetError(15,pUserProc->GetName().c_str(),nowLine);
+		compiler.errorMessenger.Output(15,pUserProc->GetName().c_str(),nowLine);
 		return false;
 	}
@@ -536,5 +536,5 @@
 	if(buffer[i]==1&&buffer[i+1]==ESC_OPERATOR){
 		if(!pobj_c){
-			SetError(126,NULL,nowLine);
+			compiler.errorMessenger.Output(126,NULL,nowLine);
 			return 0;
 		}
@@ -570,5 +570,5 @@
 		}
 		if(!iCalcId){
-			SetError(1,NULL,nowLine);
+			compiler.errorMessenger.Output(1,NULL,nowLine);
 			return 0;
 		}
@@ -608,5 +608,5 @@
 				else
 				{
-					SetError();
+					compiler.errorMessenger.OutputFatalError();
 					return NULL;
 				}
@@ -615,5 +615,5 @@
 				if( SplitMemberName( memberName, parentName, dummyMemberName, refKind ) )
 				{
-					SetError(69,temporary,nowLine);
+					compiler.errorMessenger.Output(69,temporary,nowLine);
 					return NULL;
 				}
@@ -621,5 +621,5 @@
 			else
 			{
-				SetError(68,temporary,nowLine);
+				compiler.errorMessenger.Output(68,temporary,nowLine);
 				return NULL;
 			}
@@ -642,5 +642,5 @@
 
 		if(GetDeclareHash(temporary)){
-			SetError(15,temporary,nowLine);
+			compiler.errorMessenger.Output(15,temporary,nowLine);
 			return 0;
 		}
@@ -715,5 +715,5 @@
 	//パラメータ
 	if(sourceOfParams[i]!='('){
-		SetError(1,NULL,nowLine);
+		compiler.errorMessenger.Output(1,NULL,nowLine);
 		return 0;
 	}
@@ -765,5 +765,5 @@
 		if(sw){
 			//配列パラメータ
-			if( isRef == false ) SetError(29,NULL,nowLine);
+			if( isRef == false ) compiler.errorMessenger.Output(29,NULL,nowLine);
 			isArray = true;
 
@@ -811,5 +811,5 @@
 
 			if( type.IsNull() ){
-				SetError(3,temporary,nowLine);
+				compiler.errorMessenger.Output(3,temporary,nowLine);
 				type.SetBasicType( DEF_PTR_VOID );
 			}
@@ -817,5 +817,5 @@
 		else{
 			type.SetBasicType( Type::GetBasicTypeFromSimpleName(temporary) );
-			SetError(-103,temporary,nowLine);
+			compiler.errorMessenger.Output(-103,temporary,nowLine);
 		}
 
@@ -834,5 +834,5 @@
 		else if(sourceOfParams[i]==')') continue;
 		else{
-			SetError(1,NULL,nowLine);
+			compiler.errorMessenger.Output(1,NULL,nowLine);
 			break;
 		}
@@ -863,5 +863,5 @@
 				}
 				compiler.StringToType( temporary, this->returnType );
-				if( this->returnType.IsNull() ) SetError(3,temporary,nowLine);
+				if( this->returnType.IsNull() ) compiler.errorMessenger.Output(3,temporary,nowLine);
 
 				sw_as=1;
@@ -891,5 +891,5 @@
 	}
 	else{
-		SetError(1,NULL,nowLine);
+		compiler.errorMessenger.Output(1,NULL,nowLine);
 		return;
 	}
@@ -912,5 +912,5 @@
 		}
 		if(buffer[i]=='\0'){
-			SetError(1,NULL,nowLine);
+			compiler.errorMessenger.Output(1,NULL,nowLine);
 			return;
 		}
@@ -921,5 +921,5 @@
 	//ユーザー定義関数との重複チェック
 	if(GetSubHash(procName)){
-		SetError(15,procName,nowLine);
+		compiler.errorMessenger.Output(15,procName,nowLine);
 		return;
 	}
@@ -935,5 +935,5 @@
 	}
 	if( resultType.GetBasicType() != typeOfPtrChar ){
-		SetError(1,NULL,nowLine);
+		compiler.errorMessenger.Output(1,NULL,nowLine);
 		return;
 	}
@@ -943,5 +943,5 @@
 		lstrcat(dllFileName,".DLL");
 		if(lstrlen(dllFileName)>=16){
-			SetError(7,NULL,nowLine);
+			compiler.errorMessenger.Output(7,NULL,nowLine);
 			return;
 		}
@@ -956,5 +956,5 @@
 		}
 		if( resultType.GetBasicType() != typeOfPtrChar ){
-			SetError(1,NULL,nowLine);
+			compiler.errorMessenger.Output(1,NULL,nowLine);
 			return;
 		}
@@ -977,9 +977,9 @@
 	BOOST_FOREACH( const Parameter *pParam, pDllProc->Params() ){
 		if( pParam->IsObject() ){
-			SetError(25,pParam->GetVarName(),nowLine);
+			compiler.errorMessenger.Output(25,pParam->GetVarName(),nowLine);
 		}
 		if( !pParam->IsRef() ){
 			if( pParam->IsStruct() ){
-				SetError(28,pParam->GetVarName(),nowLine);
+				compiler.errorMessenger.Output(28,pParam->GetVarName(),nowLine);
 			}
 		}
@@ -992,5 +992,5 @@
 		if( pDllProc->ReturnType().IsObject() ){
 			// DLL関数ではオブジェクトを戻り値にできない
-			SetError(40,pDllProc->GetName(),nowLine);
+			compiler.errorMessenger.Output(40,pDllProc->GetName(),nowLine);
 		}
 	}
@@ -1010,5 +1010,5 @@
 	//パラメータ
 	if(sourceOfParams[i]!='('){
-		SetError(1,NULL,nowLine);
+		compiler.errorMessenger.Output(1,NULL,nowLine);
 		return 0;
 	}
@@ -1059,5 +1059,5 @@
 		if(sw){
 			//配列パラメータ
-			if( isRef == false ) SetError(29,NULL,nowLine);
+			if( isRef == false ) compiler.errorMessenger.Output(29,NULL,nowLine);
 			isArray = true;
 
@@ -1104,5 +1104,5 @@
 
 			if( type.IsNull() ){
-				SetError(3,temporary,nowLine);
+				compiler.errorMessenger.Output(3,temporary,nowLine);
 				type.SetBasicType( DEF_PTR_VOID );
 			}
@@ -1110,5 +1110,5 @@
 		else{
 			type.SetBasicType( Type::GetBasicTypeFromSimpleName(temporary) );
-			SetError(-103,temporary,nowLine);
+			compiler.errorMessenger.Output(-103,temporary,nowLine);
 		}
 
@@ -1127,5 +1127,5 @@
 		else if(sourceOfParams[i]==')') continue;
 		else{
-			SetError(1,NULL,nowLine);
+			compiler.errorMessenger.Output(1,NULL,nowLine);
 			break;
 		}
@@ -1156,5 +1156,5 @@
 				}
 				compiler.StringToType( temporary, this->returnType );
-				if( this->returnType.IsNull() ) SetError(3,temporary,nowLine);
+				if( this->returnType.IsNull() ) compiler.errorMessenger.Output(3,temporary,nowLine);
 
 				sw_as=1;
@@ -1174,5 +1174,5 @@
 		if( this->ReturnType().IsNull() ){
 			// 戻り値がない
-			SetError(26,this->GetName(),nowLine);
+			compiler.errorMessenger.Output(26,this->GetName(),nowLine);
 		}
 	}
@@ -1180,5 +1180,5 @@
 		if( !this->ReturnType().IsNull() ){
 			// Sub定義なのに、戻り値がある
-			SetError(38,this->GetName(),nowLine);
+			compiler.errorMessenger.Output(38,this->GetName(),nowLine);
 		}
 	}
