Index: BasicCompiler64/Compile_Var.cpp
===================================================================
--- BasicCompiler64/Compile_Var.cpp	(revision 68)
+++ BasicCompiler64/Compile_Var.cpp	(revision 69)
@@ -899,5 +899,5 @@
 			*(float *)(initGlobalBuf+offset)=(float)dbl;
 	else if(type==DEF_INT64||type==DEF_QWORD||IsPtrType(type)){
-		if(type==DEF_PTR_CHAR&&lpCalcIndex==LITERAL_STRING){
+		if(type==typeOfPtrChar&&lpCalcIndex==LITERAL_STRING){
 			//文字列定数のとき
 
@@ -1048,5 +1048,5 @@
 	}
 	else if(type==DEF_INT64||type==DEF_QWORD||IsPtrType(type)){
-		if(type==DEF_PTR_CHAR&&lpCalcIndex==LITERAL_STRING){
+		if(type==typeOfPtrChar&&lpCalcIndex==LITERAL_STRING){
 			//文字列定数のとき
 
Index: BasicCompiler64/NumOpe.cpp
===================================================================
--- BasicCompiler64/NumOpe.cpp	(revision 68)
+++ BasicCompiler64/NumOpe.cpp	(revision 69)
@@ -14,6 +14,6 @@
 	//////////////////////////////////////////////////////
 
-		char *parameter = (char *)malloc( lstrlen( lpszText ) + 3 );
-		lstrcpy( parameter, lpszText );
+		char *parameter = (char *)malloc( lstrlen( lpszText ) + 32 );
+		sprintf( parameter, "\"%s\"%c%c*Char", lpszText, 1, ESC_AS );
 		SetStringQuotes( parameter );
 
@@ -222,5 +222,4 @@
 							type[sp]=DEF_OBJECT;
 							index_stack[sp]=(LONG_PTR)pobj_StringClass;
-							bUseHeap[sp]=1;
 							bLiteralCalculation=0;
 
@@ -233,5 +232,5 @@
 					}
 
-					type[sp]=DEF_PTR_CHAR;
+					type[sp]=typeOfPtrChar;
 					bLiteralCalculation=0;
 
Index: BasicCompiler64/varlist.cpp
===================================================================
--- BasicCompiler64/varlist.cpp	(revision 68)
+++ BasicCompiler64/varlist.cpp	(revision 69)
@@ -49,5 +49,5 @@
 	}
 	else{
-		if(type==DEF_PTR_CHAR||type==MAKE_PTR_TYPE(DEF_BYTE,1)){
+		if(type==MAKE_PTR_TYPE(DEF_SBYTE,1)||type==MAKE_PTR_TYPE(DEF_BYTE,1)){
 			if(ReadProcessMemory(hDebugProcess,(void *)offset,&pData,sizeof(void *),&stAccBytes)){
 				for(i2=0;;i2++){
