Index: BasicCompiler32/CParameter.cpp
===================================================================
--- BasicCompiler32/CParameter.cpp	(revision 46)
+++ BasicCompiler32/CParameter.cpp	(revision 47)
@@ -95,11 +95,5 @@
 		if(Parms[i]){
 			TYPEINFO BaseType={ppi[i].type,ppi[i].u.index};
-			if(Parms[i][0]==1&&Parms[i][1]==ESC_BYVAL){
-				type=NumOpe_GetType(Parms[i]+2,&BaseType,&lpIndex);
-				type=MAKE_PTR_TYPE(NATURAL_TYPE(type),PTR_LEVEL(type)-1);
-			}
-			else{
-				type=NumOpe_GetType(Parms[i],&BaseType,&lpIndex);
-			}
+			type=NumOpe_GetType(Parms[i],&BaseType,&lpIndex);
 		}
 		else{
Index: BasicCompiler32/Compile_CallProc.cpp
===================================================================
--- BasicCompiler32/Compile_CallProc.cpp	(revision 46)
+++ BasicCompiler32/Compile_CallProc.cpp	(revision 47)
@@ -243,5 +243,5 @@
 	psi->bUse=1;
 
-	BOOL bStatic=0;
+	bool isStatic = false;
 	CClass *pobj_c = NULL;
 	CMethod *pMethod = NULL;
@@ -254,12 +254,14 @@
 			}
 			else{
-				pobj_c=pobj_DBClass->check(ObjectName);
-				if(pobj_c){
-					//静的メンバ
-					bStatic=1;
-				}
-				else{
-					//"->"によってオブジェクトを指定する通常のメンバ関数呼び出し
-					GetVarType(ObjectName,(LONG_PTR *)&pobj_c,1);
+				//"->"によってオブジェクトを指定する通常のメンバ関数呼び出し
+				int type = GetVarType(ObjectName,(LONG_PTR *)&pobj_c,0);
+				if(!(NATURAL_TYPE(type)==DEF_OBJECT)){
+					pobj_c=pobj_DBClass->check(ObjectName);
+					if( pobj_c ){
+						isStatic = true;
+					}
+					else{
+						SetError(300,NULL,cp);
+					}
 				}
 			}
@@ -281,5 +283,5 @@
 		/////////////////////////////////
 		pMethod = NULL;
-		if( ! bStatic ) pMethod = pobj_c->GetMethodInfo( psi );
+		if( ! isStatic ) pMethod = pobj_c->GetMethodInfo( psi );
 		if( ! pMethod ){
 			//動的メソッドが取得できなかったときは静的メソッドを当たる
@@ -291,5 +293,5 @@
 
 			//静的メンバ
-			bStatic=1;
+			isStatic = true;
 		}
 
@@ -337,5 +339,5 @@
 
 	char temporary[VN_SIZE]={0};
-	if(psi->pobj_ParentClass&&bStatic==0){
+	if( psi->pobj_ParentClass && isStatic == false ){
 		//_System_LocalThis（第一パラメータ）のダミーを作成
 		lstrcpy(temporary,"0,");
@@ -401,5 +403,5 @@
 
 
-	if(psi->pobj_ParentClass&&bStatic==0){
+	if( psi->pobj_ParentClass && isStatic == false ){
 		//////////////////////////////////////////////////////
 		// メンバ関数の場合
