Index: BasicCompiler32/Compile_Var.cpp
===================================================================
--- BasicCompiler32/Compile_Var.cpp	(revision 137)
+++ BasicCompiler32/Compile_Var.cpp	(revision 138)
@@ -714,8 +714,10 @@
 }
 
-bool SetInitGlobalData(int offset,const Type &type,const int *SubScripts,char *InitBuf){
+bool SetInitGlobalData(int offset,const Type &type,const int *SubScripts,const char *lpszInitBuf){
 	extern BYTE *initGlobalBuf;
 	int i,i2,i3;
 	char temporary[VN_SIZE];
+	char InitBuf[VN_SIZE];
+	lstrcpy( InitBuf, lpszInitBuf );
 
 	if(InitBuf[0]=='['){
@@ -851,7 +853,9 @@
 	return true;
 }
-bool InitLocalVar(int offset,const Type &type,const int *SubScripts,char *InitBuf){
+bool InitLocalVar(int offset,const Type &type,const int *SubScripts,const char *lpszInitBuf){
 	int i,i2,i3;
 	char temporary[VN_SIZE];
+	char InitBuf[VN_SIZE];
+	lstrcpy( InitBuf, lpszInitBuf );
 
 	if(InitBuf[0]=='['){
@@ -1061,5 +1065,5 @@
 }
 
-void dim( char *VarName,int *SubScripts,Type &type,char *InitBuf,char *ConstractParameter,DWORD dwFlags){
+void dim( char *VarName,int *SubScripts,Type &type,const char *InitBuf,const char *ConstractParameter,DWORD dwFlags){
 	if( UserProc::IsGlobalAreaCompiling() ){
 		/////////////////////////
Index: BasicCompiler32/Opcode.h
===================================================================
--- BasicCompiler32/Opcode.h	(revision 137)
+++ BasicCompiler32/Opcode.h	(revision 138)
@@ -202,10 +202,10 @@
 void SetThisPtrToReg(int reg);
 bool GetVarOffset(bool isErrorEnabled,bool isWriteAccess,const char *NameBuffer,RELATIVE_VAR *pRelativeVar,Type &resultType,int *pss = 0);
-bool SetInitGlobalData(int offset,const Type &type,const int *SubScripts,char *InitBuf);
+bool SetInitGlobalData(int offset,const Type &type,const int *SubScripts,const char *InitBuf);
 #define DIMFLAG_INITDEBUGVAR			1
 #define DIMFLAG_NONCALL_CONSTRACTOR		2
 #define DIMFLAG_STATIC					4
 #define DIMFLAG_CONST					8
-void dim( char *VarName,int *SubScripts,Type &type,char *InitBuf,char *ConstractParameter,DWORD dwFlags);
+void dim( char *VarName,int *SubScripts,Type &type, const char *InitBuf,const char *ConstractParameter,DWORD dwFlags);
 void SetVarPtrToEax(RELATIVE_VAR *pRelativeVar);
 void SetVarPtrToReg(int reg,RELATIVE_VAR *pRelativeVar);
