Index: BasicCompiler64/CParameter.cpp
===================================================================
--- BasicCompiler64/CParameter.cpp	(revision 72)
+++ BasicCompiler64/CParameter.cpp	(revision 73)
@@ -112,5 +112,5 @@
 
 				//call free
-				extern SUBINFO *pSub_free;
+				extern SubInfo *pSub_free;
 				op_call(pSub_free);
 			}
@@ -135,5 +135,5 @@
 
 		//call calloc
-		extern SUBINFO *pSub_calloc;
+		extern SubInfo *pSub_calloc;
 		op_call(pSub_calloc);
 
Index: BasicCompiler64/Compile_CallProc.cpp
===================================================================
--- BasicCompiler64/Compile_CallProc.cpp	(revision 72)
+++ BasicCompiler64/Compile_CallProc.cpp	(revision 73)
@@ -8,5 +8,5 @@
 void Call_DebugSys_SaveContext(){
 	//call _System_GetEip
-	extern SUBINFO *pSub_System_GetEip;
+	extern SubInfo *pSub_System_GetEip;
 	op_call(pSub_System_GetEip);
 
@@ -18,5 +18,5 @@
 
 	//call _DebugSys_SaveContext
-	extern SUBINFO *pSub_DebugSys_SaveContext;
+	extern SubInfo *pSub_DebugSys_SaveContext;
 	op_call(pSub_DebugSys_SaveContext);
 }
@@ -96,5 +96,5 @@
 }
 
-void Opcode_CallProc(const char *Parameter,SUBINFO *psi,DWORD dwFlags,char *ObjectName,int RefType){
+void Opcode_CallProc(const char *Parameter,SubInfo *psi,DWORD dwFlags,char *ObjectName,int RefType){
 	int i2;
 
@@ -234,5 +234,5 @@
 
 	//エラーチェック
-	if( !pobj_parameter->ErrorCheck(psi->name,psi->pRealParmInfo,psi->RealParmNum,psi->SecondParmNum) ){
+	if( !pobj_parameter->ErrorCheck(psi->name,psi->realParams,psi->SecondParmNum) ){
 		//パラメータにエラーがあるときは処理を終える
 		return;
@@ -241,5 +241,5 @@
 	if(psi->dwType==SUBTYPE_MACRO){
 		//マクロ関数の場合は、パラメータ省略を考慮する
-		pobj_parameter->MacroParameterSupport(psi->pRealParmInfo);
+		pobj_parameter->MacroParameterSupport(psi->realParams);
 	}
 
@@ -248,8 +248,8 @@
 
 	//一時オブジェクトを生成
-	pobj_parameter->NewTempParameters( psi->name,psi->pRealParmInfo,psi->RealParmNum,psi->RealSecondParmNum );
+	pobj_parameter->NewTempParameters( psi->name,psi->realParams,psi->RealSecondParmNum );
 
 	//レジスタ、スタックフレームにセット
-	pobj_parameter->SetParameter(psi->name,psi->pRealParmInfo,psi->RealParmNum,psi->RealSecondParmNum);
+	pobj_parameter->SetParameter(psi->name,psi->realParams,psi->RealSecondParmNum);
 
 	if(psi->ReturnType==DEF_STRUCT && psi->isReturnRef == false){
@@ -271,5 +271,5 @@
 
 			//call calloc
-			extern SUBINFO *pSub_calloc;
+			extern SubInfo *pSub_calloc;
 			op_call(pSub_calloc);
 
Index: BasicCompiler64/Compile_Func.cpp
===================================================================
--- BasicCompiler64/Compile_Func.cpp	(revision 72)
+++ BasicCompiler64/Compile_Func.cpp	(revision 73)
@@ -95,5 +95,5 @@
 void Opcode_Func_AddressOf( const char *name ){
 	extern int cp;
-	SUBINFO *psi;
+	SubInfo *psi;
 
 	extern LONG_PTR ProcPtr_BaseIndex;
@@ -101,5 +101,5 @@
 		//左辺の型にのっとり、オーバーロードを解決
 
-		std::vector<SUBINFO *> subs;
+		std::vector<SubInfo *> subs;
 		GetOverloadSubHash( name, subs );
 		if( subs.size() == 0 ){
Index: BasicCompiler64/Compile_Object.cpp
===================================================================
--- BasicCompiler64/Compile_Object.cpp	(revision 72)
+++ BasicCompiler64/Compile_Object.cpp	(revision 73)
@@ -32,8 +32,8 @@
 	////////////////////////
 
-	std::vector<SUBINFO *> subs;
+	std::vector<SubInfo *> subs;
 	pobj_c->EnumMethod( pobj_c->name, subs );
 
-	SUBINFO *psi;
+	SubInfo *psi;
 	if( subs.size() > 0 ){
 		//オーバーロードを解決
@@ -121,5 +121,5 @@
 
 		//call _System_GC_malloc_ForObject
-		extern SUBINFO *pSub_System_GC_malloc_ForObject;
+		extern SubInfo *pSub_System_GC_malloc_ForObject;
 		op_call(pSub_System_GC_malloc_ForObject);
 	}
@@ -128,5 +128,5 @@
 
 		//call _System_GC_malloc_ForObjectPtr
-		extern SUBINFO *pSub_System_GC_malloc_ForObjectPtr;
+		extern SubInfo *pSub_System_GC_malloc_ForObjectPtr;
 		op_call(pSub_System_GC_malloc_ForObjectPtr);
 	}
@@ -328,10 +328,10 @@
 	if( isSweeping ){
 		//call _System_GC_free_for_SweepingDelete
-		extern SUBINFO *pSub_System_GC_free_for_SweepingDelete;
+		extern SubInfo *pSub_System_GC_free_for_SweepingDelete;
 		op_call(pSub_System_GC_free_for_SweepingDelete);
 	}
 	else{
 		//call free
-		extern SUBINFO *pSub_free;
+		extern SubInfo *pSub_free;
 		op_call(pSub_free);
 	}
Index: BasicCompiler64/Compile_ProcOp.cpp
===================================================================
--- BasicCompiler64/Compile_ProcOp.cpp	(revision 72)
+++ BasicCompiler64/Compile_ProcOp.cpp	(revision 73)
@@ -204,8 +204,8 @@
 	}
 }
-void CompileBufferInProcedure(SUBINFO *psi){
+void CompileBufferInProcedure(SubInfo *psi){
 	extern char *basbuf;
 	extern HANDLE hHeap;
-	extern SUBINFO **ppSubHash;
+	extern SubInfo **ppSubHash;
 	extern BOOL bDebugCompile;
 	int i3,i4,VarSize,BufferSize;
@@ -328,13 +328,13 @@
 		LocalVar=(VARIABLE *)HeapReAlloc(hHeap,0,LocalVar,(MaxLocalVarNum+1)*sizeof(VARIABLE));
 
-		lstrcpy(LocalVar[MaxLocalVarNum].name,psi->pRealParmInfo[i3].name);
+		lstrcpy(LocalVar[MaxLocalVarNum].name,psi->realParams[i3].GetVarName.c_str());
 
 		// TODO: パラメータのConst定義の指定が未完成
 		LocalVar[MaxLocalVarNum].bConst=false;
 
-		LocalVar[MaxLocalVarNum].bArray=psi->pRealParmInfo[i3].bArray;
-		memcpy(LocalVar[MaxLocalVarNum].SubScripts,psi->pRealParmInfo[i3].SubScripts,MAX_ARRAYDIM*sizeof(int));
-
-		LocalVar[MaxLocalVarNum].type=psi->pRealParmInfo[i3].type;
+		LocalVar[MaxLocalVarNum].bArray=psi->realParams[i3].IsArray()?TRUE:FALSE;
+		memcpy(LocalVar[MaxLocalVarNum].SubScripts,psi->realParams[i3].GetSubScriptsPtr(),MAX_ARRAYDIM*sizeof(int));
+
+		LocalVar[MaxLocalVarNum].type=psi->realParams[i3].GetBasicType();
 		if(LocalVar[MaxLocalVarNum].type==DEF_OBJECT
 			||LocalVar[MaxLocalVarNum].type==DEF_STRUCT){
@@ -343,7 +343,7 @@
 		}
 
-		LocalVar[MaxLocalVarNum].u.index=psi->pRealParmInfo[i3].u.index;
-
-		if(psi->pRealParmInfo[i3].bByVal&&psi->pRealParmInfo[i3].type==DEF_STRUCT){
+		LocalVar[MaxLocalVarNum].u.index=psi->realParams[i3].GetIndex();
+
+		if(psi->realParams[i3].IsRef() == false&&psi->realParams[i3].IsStruct()){
 			//構造体のByValパラメータ
 			LocalVar[MaxLocalVarNum].fRef=REF_PARAMETER | OBJECT_PARAMETER;
@@ -351,5 +351,5 @@
 		}
 		else{
-			if(psi->pRealParmInfo[i3].bByVal&&psi->pRealParmInfo[i3].bArray==0){
+			if(psi->realParams[i3].IsRef() == false&&psi->realParams[i3].IsArray()){
 				LocalVar[MaxLocalVarNum].fRef=0;
 				VarSize=GetTypeSize(LocalVar[MaxLocalVarNum].type,LocalVar[MaxLocalVarNum].u.index);
@@ -383,5 +383,5 @@
 
 	//コンパイル中の関数
-	extern SUBINFO *pCompilingSubInfo;
+	extern SubInfo *pCompilingSubInfo;
 	pCompilingSubInfo=psi;
 
@@ -396,5 +396,5 @@
 	for(i3=psi->RealParmNum-1;i3>=0;i3--){
 		if(i3==3){
-			if(IsRealNumberType(psi->pRealParmInfo[i3].type)&&psi->pRealParmInfo[i3].bByVal){
+			if(psi->realParams[i3].IsReal()&&psi->realParams[i3].IsRef() == false){
 				//movsd qword ptr[rsp+0x20],xmm3
 				op_movsd_MR(REG_XMM3,REG_RSP,0x20,MOD_BASE_DISP32);
@@ -406,5 +406,5 @@
 		}
 		if(i3==2){
-			if(IsRealNumberType(psi->pRealParmInfo[i3].type)&&psi->pRealParmInfo[i3].bByVal){
+			if(psi->realParams[i3].IsReal()&&psi->realParams[i3].IsRef() == false){
 				//movsd qword ptr[rsp+0x18],xmm2
 				op_movsd_MR(REG_XMM2,REG_RSP,0x18,MOD_BASE_DISP32);
@@ -416,5 +416,5 @@
 		}
 		if(i3==1){
-			if(IsRealNumberType(psi->pRealParmInfo[i3].type)&&psi->pRealParmInfo[i3].bByVal){
+			if(psi->realParams[i3].IsReal()&&psi->realParams[i3].IsRef() == false){
 				//movsd qword ptr[rsp+0x10],xmm1
 				op_movsd_MR(REG_XMM1,REG_RSP,0x10,MOD_BASE_DISP32);
@@ -426,5 +426,5 @@
 		}
 		if(i3==0){
-			if(IsRealNumberType(psi->pRealParmInfo[i3].type)&&psi->pRealParmInfo[i3].bByVal){
+			if(psi->realParams[i3].IsReal()&&psi->realParams[i3].IsRef() == false){
 				//movsd qword ptr[rsp+0x8],xmm0
 				op_movsd_MR(REG_XMM0,REG_RSP,0x8,MOD_BASE_DISP32);
@@ -497,5 +497,5 @@
 
 		//call _DebugSys_StartProc
-		extern SUBINFO *pSub_DebugSys_StartProc;
+		extern SubInfo *pSub_DebugSys_StartProc;
 		op_call(pSub_DebugSys_StartProc);
 	}
@@ -720,5 +720,5 @@
 	if(bDebugCompile&&bDebugSupportProc==0){
 		//call _DebugSys_EndProc
-		extern SUBINFO *pSub_DebugSys_EndProc;
+		extern SubInfo *pSub_DebugSys_EndProc;
 		op_call(pSub_DebugSys_EndProc);
 	}
@@ -819,7 +819,7 @@
 }
 void CompileLocal(){
-	extern SUBINFO **ppSubHash;
+	extern SubInfo **ppSubHash;
 	int i2;
-	SUBINFO *psi;
+	SubInfo *psi;
 
 	extern BOOL bDll;
@@ -835,9 +835,9 @@
 	//_System_InitStaticLocalVariablesは一番最後にコンパイル
 	//※一般関数内の静的変数オブジェクトをすべて収集しなければならない
-	extern SUBINFO *pSub_System_InitStaticLocalVariables;
+	extern SubInfo *pSub_System_InitStaticLocalVariables;
 	pSub_System_InitStaticLocalVariables->bCompile=1;
 
 	//_System_Call_Destructor_of_GlobalObjectは一番最後にコンパイル
-	extern SUBINFO *pSub_System_Call_Destructor_of_GlobalObject;
+	extern SubInfo *pSub_System_Call_Destructor_of_GlobalObject;
 	pSub_System_Call_Destructor_of_GlobalObject->bCompile=1;
 
Index: BasicCompiler64/Compile_Set_Var.cpp
===================================================================
--- BasicCompiler64/Compile_Set_Var.cpp	(revision 72)
+++ BasicCompiler64/Compile_Set_Var.cpp	(revision 73)
@@ -107,5 +107,5 @@
 
 					//call free
-					extern SUBINFO *pSub_free;
+					extern SubInfo *pSub_free;
 					op_call(pSub_free);
 				}
Index: BasicCompiler64/Compile_Statement.cpp
===================================================================
--- BasicCompiler64/Compile_Statement.cpp	(revision 72)
+++ BasicCompiler64/Compile_Statement.cpp	(revision 73)
@@ -5,5 +5,5 @@
 	int i,i2;
 	char buffer[8192];
-	SUBINFO *psi;
+	SubInfo *psi;
 
 	for(i=0;;i++){
@@ -44,5 +44,5 @@
 
 		//GetSubHash内でエラー提示が行われた場合
-		if(psi==(SUBINFO *)-1) return;
+		if(psi==(SubInfo *)-1) return;
 
 		if(psi==0){
@@ -54,5 +54,5 @@
 
 			//GetSubHash内でエラー提示が行われた場合
-			if(psi==(SUBINFO *)-1) return;
+			if(psi==(SubInfo *)-1) return;
 		}
 
@@ -722,5 +722,5 @@
 					pobj_c=(CClass *)lpIndex;
 
-					std::vector<SUBINFO *> subs;
+					std::vector<SubInfo *> subs;
 					pobj_c->EnumMethod( CALC_EQUAL, subs );
 					if( subs.size() == 0 ){
@@ -739,5 +739,5 @@
 
 					//オーバーロードを解決
-					SUBINFO *psi;
+					SubInfo *psi;
 					psi=OverloadSolution("==",subs,ppi,iParmNum,NULL);
 					HeapDefaultFree(ppi);
@@ -883,5 +883,5 @@
 
 	//call _System_GetEip
-	extern SUBINFO *pSub_System_GetEip;
+	extern SubInfo *pSub_System_GetEip;
 	op_call(pSub_System_GetEip);
 
@@ -945,5 +945,5 @@
 		//戻り値をセット
 		if(Parameter[0]){
-			extern SUBINFO *pCompilingSubInfo;
+			extern SubInfo *pCompilingSubInfo;
 			char *temp;
 			if(pCompilingSubInfo->name[0]==1&&pCompilingSubInfo->name[1]==ESC_OPERATOR)
@@ -1075,5 +1075,5 @@
 	OpcodeCalc(temp2);
 
-	SUBINFO *psi;
+	SubInfo *psi;
 	if(bFile) psi=GetSubHash("INPUT_FromFile");
 	else psi=GetSubHash("INPUT_FromPrompt");
@@ -1177,5 +1177,5 @@
 	OpcodeCalc(temp2);
 
-	SUBINFO *psi;
+	SubInfo *psi;
 	if(bFile) psi=GetSubHash("PRINTUSING_ToFile");
 	else psi=GetSubHash("PRINTUSING_ToPrompt");
@@ -1281,5 +1281,5 @@
 	if(sw) lstrcat(buffer,"+Ex\"\\r\\n\"");
 
-	SUBINFO *psi;
+	SubInfo *psi;
 	if(bFile) psi=GetSubHash("PRINT_ToFile");
 	else psi=GetSubHash("PRINT_ToPrompt");
Index: BasicCompiler64/Compile_Var.cpp
===================================================================
--- BasicCompiler64/Compile_Var.cpp	(revision 72)
+++ BasicCompiler64/Compile_Var.cpp	(revision 73)
@@ -562,5 +562,5 @@
 
 	char temporary[VN_SIZE];
-	extern SUBINFO *pCompilingSubInfo;
+	extern SubInfo *pCompilingSubInfo;
 	if(pCompilingSubInfo){
 		GetNowStaticVarFullName(VarName,temporary);
Index: BasicCompiler64/MakePeHdr.cpp
===================================================================
--- BasicCompiler64/MakePeHdr.cpp	(revision 72)
+++ BasicCompiler64/MakePeHdr.cpp	(revision 73)
@@ -6,5 +6,5 @@
 // 特殊関数の構造体ポインタ
 ////////////////////////////
-SUBINFO
+SubInfo
 	*pSub_System_StartupProgram,
 	*pSub_DebugSys_StartProc,
@@ -352,5 +352,5 @@
 
 		//call _System_Call_Destructor_of_GlobalObject
-		extern SUBINFO *pSub_System_Call_Destructor_of_GlobalObject;
+		extern SubInfo *pSub_System_Call_Destructor_of_GlobalObject;
 		op_call(pSub_System_Call_Destructor_of_GlobalObject);
 
@@ -500,6 +500,6 @@
 		ExportNamesLength=lstrlen(lpExportNames)+1;
 
-		extern SUBINFO **ppSubHash;
-		SUBINFO *psi,*psi2;
+		extern SubInfo **ppSubHash;
+		SubInfo *psi,*psi2;
 		while(1){
 			//辞書順にサーチ
Index: BasicCompiler64/NumOpe_Arithmetic.cpp
===================================================================
--- BasicCompiler64/NumOpe_Arithmetic.cpp	(revision 72)
+++ BasicCompiler64/NumOpe_Arithmetic.cpp	(revision 73)
@@ -559,5 +559,5 @@
 
 		//call pow
-		extern SUBINFO *pSub_pow;
+		extern SubInfo *pSub_pow;
 		op_call(pSub_pow);
 
Index: BasicCompiler64/Opcode.h
===================================================================
--- BasicCompiler64/Opcode.h	(revision 72)
+++ BasicCompiler64/Opcode.h	(revision 73)
@@ -350,8 +350,8 @@
 
 private:
-	BOOL _overload_check(PARAMETER_INFO *ppi,int pi_num,TYPEINFO *pReturnTypeInfo,int overload_level);
-	SUBINFO *OverloadSolutionWithReturnType( const char *name, std::vector<SUBINFO *> &subs );
+	BOOL _overload_check( Parameters &params, TYPEINFO *pReturnTypeInfo,int overload_level);
+	SubInfo *OverloadSolutionWithReturnType( const char *name, std::vector<SubInfo *> &subs );
 public:
-	SUBINFO *OverloadSolution( const char *name, std::vector<SUBINFO *> &subs );
+	SubInfo *OverloadSolution( const char *name, std::vector<SubInfo *> &subs );
 
 	BOOL ErrorCheck(const char *FuncName,PARAMETER_INFO *ppi,int pi_num,int SecondParmNum);
@@ -385,5 +385,5 @@
 #define PROCFLAG_NEW	1
 int Opcode_CallProcPtr(char *variable,char *Parameter,PROCPTRINFO *pi,LONG_PTR *plpIndex);
-void Opcode_CallProc(const char *Parameter,SUBINFO *psi,DWORD dwFlags,char *ObjectName,int RefType);
+void Opcode_CallProc(const char *Parameter,SubInfo *psi,DWORD dwFlags,char *ObjectName,int RefType);
 int Opcode_CallDllProc(char *Parameter,DECLAREINFO *pdi,LONG_PTR *plpIndex);
 
@@ -512,4 +512,4 @@
 void op_fld_ptr_esp(int type);
 void op_zero_reg(int reg);
-void op_call( SUBINFO *psi );
+void op_call( SubInfo *psi );
 void op_call( DECLAREINFO *pdi );
Index: BasicCompiler64/OperatorProc.cpp
===================================================================
--- BasicCompiler64/OperatorProc.cpp	(revision 72)
+++ BasicCompiler64/OperatorProc.cpp	(revision 73)
@@ -23,5 +23,5 @@
 
 	//call free
-	extern SUBINFO *pSub_free;
+	extern SubInfo *pSub_free;
 	op_call(pSub_free);
 }
@@ -32,5 +32,5 @@
 	pobj_c=(CClass *)index_stack[sp-2];
 
-	std::vector<SUBINFO *> subs;
+	std::vector<SubInfo *> subs;
 	pobj_c->EnumMethod( idCalc, subs );
 	if( subs.size() == 0 ){
@@ -84,5 +84,5 @@
 	if(idCalc==CALC_EQUAL) lstrcpy(temporary,"==");
 	else GetCalcName(idCalc,temporary);
-	SUBINFO *psi;
+	SubInfo *psi;
 	psi=OverloadSolution(temporary,subs,ppi,iParmNum,pBaseTypeInfo);
 
@@ -94,5 +94,5 @@
 	else{
 		//オーバーロードされていないが、パラメータ個数が一致しないとき
-		if(iParmNum!=psi->ParmNum){
+		if(iParmNum!=psi->params.size()){
 			HeapDefaultFree(ppi);
 			return -1;
@@ -102,6 +102,6 @@
 	for(i=0;i<iParmNum;i++){
 		CheckDifferentType(
-			psi->pParmInfo[i].type,
-			psi->pParmInfo[i].u.index,
+			psi->params[i]->GetBasicType(),
+			psi->params[i]->GetIndex(),
 			ppi[i].type,
 			ppi[i].u.index,
@@ -113,5 +113,5 @@
 
 	if(bTwoTerm){
-		if(psi->pRealParmInfo[1].type==DEF_STRUCT&&psi->pRealParmInfo[1].bByVal){
+		if( psi->realParams[1]->IsStruct() && psi->realParams[1]->IsRef() == false ){
 			//一時オブジェクトはメソッド内で破棄される
 			bUseHeap[sp-1]=0;
@@ -137,5 +137,5 @@
 
 			//call calloc
-			extern SUBINFO *pSub_calloc;
+			extern SubInfo *pSub_calloc;
 			op_call(pSub_calloc);
 
@@ -154,5 +154,5 @@
 		SetOneTermToReg_Whole64Calc(type[sp-1],&reg2);
 		pobj_reg->UnlockReg();
-		if( !psi->pRealParmInfo[1].bByVal ){
+		if( !psi->realParams[1]->IsRef() == false ){
 			//一時参照を作成
 			pobj_sf->push( reg2 );
@@ -253,5 +253,5 @@
 
 	if(bTwoTerm){
-		if( !psi->pRealParmInfo[1].bByVal ){
+		if( !psi->realParams[1]->IsRef() == false ){
 			//一時参照を破棄
 			pobj_sf->pop();
@@ -341,5 +341,5 @@
 void CallIndexerGetterProc(int reg,CClass *pobj_Class,char *ObjectName,char *Parameter,TYPEINFO &RetTypeInfo){
 
-	std::vector<SUBINFO *> subs;
+	std::vector<SubInfo *> subs;
 	pobj_Class->EnumMethod( CALC_ARRAY_GET, subs );
 	if( subs.size() == 0 ){
Index: BasicCompiler64/WatchList.cpp
===================================================================
--- BasicCompiler64/WatchList.cpp	(revision 72)
+++ BasicCompiler64/WatchList.cpp	(revision 73)
@@ -309,5 +309,5 @@
 ULONG_PTR Debugging_GetThisPtrOffset(LONG_PTR obp_Rip){
 	int i;
-	SUBINFO *psi;
+	SubInfo *psi;
 
 	//ripからプロシージャを取得
Index: BasicCompiler64/amd64_main.cpp
===================================================================
--- BasicCompiler64/amd64_main.cpp	(revision 72)
+++ BasicCompiler64/amd64_main.cpp	(revision 73)
@@ -1791,5 +1791,5 @@
 /////////////////////////////
 
-void op_call( SUBINFO *psi ){
+void op_call( SubInfo *psi ){
 	OpBuffer[obp++] = (char)0xE8;
 	pobj_SubAddrSchedule->add( psi, 1 );
Index: BasicCompiler64/varlist.cpp
===================================================================
--- BasicCompiler64/varlist.cpp	(revision 72)
+++ BasicCompiler64/varlist.cpp	(revision 73)
@@ -354,6 +354,6 @@
 	if(pobj_dti->lplpSpBase[i2]==0) return;
 
-	extern SUBINFO **ppSubHash;
-	SUBINFO *psi;
+	extern SubInfo **ppSubHash;
+	SubInfo *psi;
 	for(i3=0,sw=0;i3<MAX_HASH;i3++){
 		psi=ppSubHash[i3];
@@ -586,6 +586,6 @@
 
 	//プロシージャ コンボボックス
-	extern SUBINFO **ppSubHash;
-	SUBINFO *psi;
+	extern SubInfo **ppSubHash;
+	SubInfo *psi;
 	int sw;
 	SendMessage(hProcCombo,CB_RESETCONTENT,0,0);
@@ -709,6 +709,6 @@
 
 	if(pobj_dti->lplpSpBase[i2]){
-		extern SUBINFO **ppSubHash;
-		SUBINFO *psi;
+		extern SubInfo **ppSubHash;
+		SubInfo *psi;
 		for(i3=0,sw=0;i3<MAX_HASH;i3++){
 			psi=ppSubHash[i3];
