Index: /BasicCompiler_Common/Class.cpp
===================================================================
--- /BasicCompiler_Common/Class.cpp	(revision 56)
+++ /BasicCompiler_Common/Class.cpp	(revision 57)
@@ -727,6 +727,6 @@
 		//コピーコンストラクタ
 		if(psi->ParmNum==1){
-			if(psi->pParmInfo[1].type==DEF_OBJECT&&
-				psi->pParmInfo[1].u.pobj_c==pobj_c) fConstructor=2;
+			if(psi->pParmInfo[0].type==DEF_OBJECT&&
+				psi->pParmInfo[0].u.pobj_c==pobj_c) fConstructor=2;
 		}
 
Index: /BasicCompiler_Common/Variable.cpp
===================================================================
--- /BasicCompiler_Common/Variable.cpp	(revision 56)
+++ /BasicCompiler_Common/Variable.cpp	(revision 57)
@@ -1096,6 +1096,9 @@
 
 	if( pTypeInfo->type == DEF_OBJECT && InitBuf[0] != '\0' && InitBuf[0] != '[' && isRef == false ){
-		lstrcpy( ConstractParameter, InitBuf );
-		InitBuf[0] = 0;
+		if( pTypeInfo->u.pobj_Class->GetCopyConstructorMethod() ){
+			//オブジェクトでコピーコンストラクタが存在するとき
+			lstrcpy( ConstractParameter, InitBuf );
+			InitBuf[0] = 0;
+		}
 	}
 
Index: /BasicCompiler_Common/common.h
===================================================================
--- /BasicCompiler_Common/common.h	(revision 56)
+++ /BasicCompiler_Common/common.h	(revision 57)
@@ -43,7 +43,7 @@
 
 #ifdef _AMD64_
-#define VER_INFO		"β11 (x64)"
+#define VER_INFO		"β12 (x64)"
 #else
-#define VER_INFO		"β11"
+#define VER_INFO		"β12"
 #endif
 
Index: /ProjectEditor/Common.h
===================================================================
--- /ProjectEditor/Common.h	(revision 56)
+++ /ProjectEditor/Common.h	(revision 57)
@@ -62,5 +62,5 @@
 #define APPLICATION_NAME "ActiveBasic 5.0"
 #define VERSION_APPLI_NAME APPLICATION_NAME
-#define VERSION_STRING "5.00.00 β11"
+#define VERSION_STRING "5.00.00 β12"
 
 #endif
Index: /ProjectEditor/SubOperation.cpp
===================================================================
--- /ProjectEditor/SubOperation.cpp	(revision 56)
+++ /ProjectEditor/SubOperation.cpp	(revision 57)
@@ -525,4 +525,5 @@
 	}
 	else if(str[0]=='s'||str[0]=='S'){
+		if(lstrcmpi(str,"SByte")==0) return -1;
 		if(lstrcmpi(str,"Select")==0) return COM_SELECT;
 		if(lstrcmpi(str,"SelectCase")==0) return COM_SELECT;
