Index: trunk/ab5.0/abdev/BasicCompiler64/Compile_Statement.cpp
===================================================================
--- trunk/ab5.0/abdev/BasicCompiler64/Compile_Statement.cpp	(revision 440)
+++ trunk/ab5.0/abdev/BasicCompiler64/Compile_Statement.cpp	(revision 468)
@@ -15,5 +15,5 @@
 			//ダブルクォートは不正なのでエラー扱い
 			leftTerm[i]=0;
-			SetError(3,leftTerm,cp);
+			compiler.errorMessenger.Output(3,leftTerm,cp);
 			return;
 		}
@@ -47,5 +47,5 @@
 		(leftTerm[0]==1&&leftTerm[1]==ESC_PSMEM)
 		)){
-		SetError(1,NULL,cp);
+		compiler.errorMessenger.Output(1,NULL,cp);
 		return;
 	}
@@ -75,5 +75,5 @@
 		if(pUserProc){
 			if( !pUserProc->IsMacro() ){
-				SetError(10,Command,cp);
+				compiler.errorMessenger.Output(10,Command,cp);
 			}
 
@@ -90,5 +90,5 @@
 
 	if( pobj_reg ){
-		SetError();
+		compiler.errorMessenger.OutputFatalError();
 	}
 	pobj_reg=new CRegister(REG_RAX);
@@ -118,5 +118,5 @@
 
 	// どこにも当てはまらなかったため、失敗
-	SetError(1,NULL,cp);
+	compiler.errorMessenger.Output(1,NULL,cp);
 }
 
@@ -174,5 +174,5 @@
 	for(int i=0;;i++){
 		if(Parameter[i]=='\0'){
-			SetError(21,NULL,cp);
+			compiler.errorMessenger.Output(21,NULL,cp);
 			return;
 		}
@@ -314,5 +314,5 @@
 	compiler.codeGenerator.ContinueAreaBegin();
 
-	if(!Parameter[0]) SetError(10,"While",cp);
+	if(!Parameter[0]) compiler.errorMessenger.Output(10,"While",cp);
 
 	//条件式を実行してフラグをセット
@@ -353,5 +353,5 @@
 	i=GetOneParameter(Parameter,0,temporary);
 	if(!Parameter[i]){
-		SetError(12,"For",cp);
+		compiler.errorMessenger.Output(12,"For",cp);
 		isError = true;
 		goto ErrorStep;
@@ -367,5 +367,5 @@
 		}
 		if(temporary[i2]=='\0'){
-			SetError(12,"For",cp);
+			compiler.errorMessenger.Output(12,"For",cp);
 			isError = true;
 			goto ErrorStep;
@@ -386,5 +386,5 @@
 	if(Parameter[i]){
 		i=GetOneParameter(Parameter,i,StepNum);
-		if(Parameter[i]) SetError(12,"For",cp);
+		if(Parameter[i]) compiler.errorMessenger.Output(12,"For",cp);
 	}
 	else lstrcpy(StepNum,"1");
@@ -450,5 +450,5 @@
 	if(szNextVariable[0]){
 		if(lstrcmp(szNextVariable,variable)!=0){
-			SetError(55,szNextVariable,cp);
+			compiler.errorMessenger.Output(55,szNextVariable,cp);
 		}
 	}
@@ -480,5 +480,5 @@
 	GetCustomToken( variable, Parameter, i, ESC_IN, true );
 	if(!Parameter[i]){
-		SetError(12,"Foreach",cp);
+		compiler.errorMessenger.Output(12,"Foreach",cp);
 		isError = true;
 		goto ErrorStep;
@@ -537,5 +537,5 @@
 	if(szNextVariable[0]){
 		if(lstrcmp(szNextVariable,variable)!=0){
-			SetError(55,szNextVariable,cp);
+			compiler.errorMessenger.Output(55,szNextVariable,cp);
 		}
 	}
@@ -561,5 +561,5 @@
 	int i,i2,i3;
 
-	if(Parameter[0]) SetError(10,"Do",cp);
+	if(Parameter[0]) compiler.errorMessenger.Output(10,"Do",cp);
 
 	//Continueアドレスのバックアップとセット
@@ -641,5 +641,5 @@
 void OpcodeExitSub(void){
 	if( UserProc::IsGlobalAreaCompiling() ){
-		SetError(12,"Exit Sub/Function",cp);
+		compiler.errorMessenger.Output(12,"Exit Sub/Function",cp);
 		return;
 	}
@@ -705,5 +705,5 @@
 			if(basbuf[i]=='\0'){
 				selectSchedules.pop_back();
-				SetError(22,"Select",cp);
+				compiler.errorMessenger.Output(22,"Select",cp);
 				return;
 			}
@@ -893,5 +893,5 @@
 
 	if(selectSchedules.back().typeSize==-1){
-		SetError(30,"Case",cp);
+		compiler.errorMessenger.Output(30,"Case",cp);
 		return;
 	}
@@ -914,9 +914,9 @@
 
 void OpcodeGosub(char *Parameter){
-	SetError(-1,"Gosub ～ Returnステートメントは64ビットコンパイラで利用することはできません。",cp);
+	compiler.errorMessenger.Output(-1,"Gosub ～ Returnステートメントは64ビットコンパイラで利用することはできません。",cp);
 }
 void OpcodeReturn(char *Parameter){
 	if( UserProc::IsGlobalAreaCompiling() ){
-		SetError(62,NULL,cp);
+		compiler.errorMessenger.Output(62,NULL,cp);
 	}
 	else{
@@ -966,5 +966,5 @@
 	i=GetOneParameter(Parameter,0,temporary);
 	if(!Parameter[i]){
-		SetError(1,NULL,cp);
+		compiler.errorMessenger.Output(1,NULL,cp);
 		return;
 	}
@@ -976,5 +976,5 @@
 	}
 	if(!resultType.IsWhole()){
-		SetError(11,Parameter,cp);
+		compiler.errorMessenger.Output(11,Parameter,cp);
 		return;
 	}
@@ -986,5 +986,5 @@
 	i=GetOneParameter(Parameter,i,temporary);
 	if(Parameter[i]){
-		SetError(1,NULL,cp);
+		compiler.errorMessenger.Output(1,NULL,cp);
 		return;
 	}
