ooo-build r11887 - in trunk: . patches/src680 patches/vba scratch/sc-vba/testvba/TestDocuments



Author: pflin
Date: Thu Mar 13 05:30:24 2008
New Revision: 11887
URL: http://svn.gnome.org/viewvc/ooo-build?rev=11887&view=rev

Log:
	* patches/vba/vba-error-function.diff: error function fix
	(not applied currently, need review by Noel)
	* scratch/sc-vba/testvba/TestDocuments/error.xls:  
	test document
	* patches/src680/apply.



Added:
   trunk/patches/vba/vba-error-function.diff
   trunk/scratch/sc-vba/testvba/TestDocuments/error.xls   (contents, props changed)
Modified:
   trunk/ChangeLog
   trunk/patches/src680/apply

Modified: trunk/patches/src680/apply
==============================================================================
--- trunk/patches/src680/apply	(original)
+++ trunk/patches/src680/apply	Thu Mar 13 05:30:24 2008
@@ -1600,7 +1600,8 @@
 vba-getattr-function.diff, n#294187, Fong
 # Fomat function enhancement for VBA 
 vba-format-function.diff, n#294187, Fong
-
+# Error function compatible with VBA
+vba-error-function.diff, n#294187, Fong
 
 # Is function only valid for objects
 #vba-is-behaviour.diff

Added: trunk/patches/vba/vba-error-function.diff
==============================================================================
--- (empty file)
+++ trunk/patches/vba/vba-error-function.diff	Thu Mar 13 05:30:24 2008
@@ -0,0 +1,135 @@
+diff -urp basic.bak/source/classes/sb.cxx basic/source/classes/sb.cxx
+--- basic.bak/source/classes/sb.cxx	2008-03-11 11:03:51.000000000 +0800
++++ basic/source/classes/sb.cxx	2008-03-13 11:19:43.000000000 +0800
+@@ -1142,6 +1142,27 @@ USHORT StarBASIC::GetVBErrorCode( SbErro
+ {
+ 	USHORT nRet = 0;
+ 
++	if( SbiRuntime::isVBAEnabled() )
++	{
++		switch( nError )
++		{
++			case SbERR_BASIC_ARRAY_FIX:
++				return 10;
++			case SbERR_BASIC_STRING_OVERFLOW:
++				return 14;
++			case SbERR_BASIC_EXPR_TOO_COMPLEX:
++				return 16;
++			case SbERR_BASIC_OPER_NOT_PERFORM:
++				return 17;
++			case SbERR_BASIC_TOO_MANY_DLL:
++				return 47;
++			case SbERR_BASIC_LOOP_NOT_INIT:
++				return 92;
++			default:
++				nRet = 0;
++		}
++	}
++	
+ 	// Suchschleife
+ 	const SFX_VB_ErrorItem* pErrItem;
+ 	USHORT nIndex = 0;
+@@ -1163,7 +1184,33 @@ SbError	StarBASIC::GetSfxFromVBError( US
+ {
+ 	SbError nRet = 0L;
+ 
+-	// Suchschleife
++	if( SbiRuntime::isVBAEnabled() )
++	{
++		switch( nError )
++		{
++			case 1:
++			case 2:
++			case 4:
++			case 8:
++			case 12:
++			case 73:
++				return 0L;
++			case 10:
++				return SbERR_BASIC_ARRAY_FIX;
++			case 14:
++				return SbERR_BASIC_STRING_OVERFLOW;
++			case 16:
++				return SbERR_BASIC_EXPR_TOO_COMPLEX;
++			case 17:
++				return SbERR_BASIC_OPER_NOT_PERFORM;
++			case 47:
++				return SbERR_BASIC_TOO_MANY_DLL;
++			case 92:
++				return SbERR_BASIC_LOOP_NOT_INIT;
++			default:
++				nRet = 0L;
++		}
++	}
+ 	const SFX_VB_ErrorItem* pErrItem;
+ 	USHORT nIndex = 0;
+ 	do
+diff -urp basic.bak/source/classes/sb.src basic/source/classes/sb.src
+--- basic.bak/source/classes/sb.src	2008-03-11 11:03:51.000000000 +0800
++++ basic/source/classes/sb.src	2008-03-12 16:50:42.000000000 +0800
+@@ -578,6 +578,30 @@ Resource RID_BASIC_START
+ 		Text [ en-US ] = "$(ARG1)." ;
+ 		Text [ x-comment ] = " ";
+ 	};
++	String ERRCODE_BASIC_ARRAY_FIX & ERRCODE_RES_MASK
++	{
++		Text [ en-US ] = "This array is fixed or temporarily locked." ;
++	};
++	String ERRCODE_BASIC_STRING_OVERFLOW & ERRCODE_RES_MASK
++	{
++		Text [ en-US ] = "Out of string space." ;
++	};
++	String ERRCODE_BASIC_EXPR_TOO_COMPLEX & ERRCODE_RES_MASK
++	{
++		Text [ en-US ] = "Expression Too Complex." ;
++	};
++	String ERRCODE_BASIC_OPER_NOT_PERFORM & ERRCODE_RES_MASK
++	{
++		Text [ en-US ] = "Can't perform requested operation." ;
++	};
++	String ERRCODE_BASIC_TOO_MANY_DLL & ERRCODE_RES_MASK
++	{
++		Text [ en-US ] = "Too many DLL application clients." ;
++	};
++	String ERRCODE_BASIC_LOOP_NOT_INIT & ERRCODE_RES_MASK
++	{
++		Text [ en-US ] = "For loop not initialized." ;
++	};
+ };
+  // Hinweis: IDS_SBERR_TERMINATED = IDS_SBERR_START+2000.
+ String IDS_SBERR_TERMINATED
+diff -urp basic.bak/inc/basic/sberrors.hxx basic/inc/basic/sberrors.hxx
+--- basic.bak/inc/basic/sberrors.hxx	2008-03-11 11:03:50.000000000 +0800
++++ basic/inc/basic/sberrors.hxx	2008-03-12 16:52:58.000000000 +0800
+@@ -285,6 +285,18 @@ typedef ULONG SbError;
+ #define	ERRCODE_BASMGR_UNLOADLIB			(LAST_SBX_ERROR_ID+102UL) | ERRCODE_AREA_SBX
+ 
+ #define	ERRCODE_BASIC_COMPAT				((LAST_SBX_ERROR_ID+103UL)| ERRCODE_AREA_SBX | ERRCODE_CLASS_RUNTIME)
++#define	ERRCODE_BASIC_ARRAY_FIX				((LAST_SBX_ERROR_ID+104UL) | ERRCODE_AREA_SBX | \
++											ERRCODE_CLASS_COMPILER)				// This array is fixed
++#define	ERRCODE_BASIC_STRING_OVERFLOW		((LAST_SBX_ERROR_ID+105UL) | ERRCODE_AREA_SBX | \
++											ERRCODE_CLASS_COMPILER)				// Out of string space
++#define	ERRCODE_BASIC_EXPR_TOO_COMPLEX		((LAST_SBX_ERROR_ID+106UL) | ERRCODE_AREA_SBX | \
++											ERRCODE_CLASS_COMPILER)				// Expression too complex
++#define	ERRCODE_BASIC_OPER_NOT_PERFORM		((LAST_SBX_ERROR_ID+107UL) | ERRCODE_AREA_SBX | \
++											ERRCODE_CLASS_COMPILER)				// Can't perform requested operation
++#define	ERRCODE_BASIC_TOO_MANY_DLL			((LAST_SBX_ERROR_ID+108UL) | ERRCODE_AREA_SBX | \
++											ERRCODE_CLASS_COMPILER)				// Too many dll application clients
++#define	ERRCODE_BASIC_LOOP_NOT_INIT			((LAST_SBX_ERROR_ID+109UL) | ERRCODE_AREA_SBX | \
++											ERRCODE_CLASS_COMPILER)				// For loop not initialized
+ 
+ // Alte Codes auf neue mappen
+ #define	SbERR_SYNTAX						ERRCODE_BASIC_SYNTAX
+@@ -410,6 +422,12 @@ typedef ULONG SbError;
+ #define	SbERR_NO_STRINGS_ARRAYS             ERRCODE_BASIC_NO_STRINGS_ARRAYS
+ #define	SbERR_BASIC_EXCEPTION               ERRCODE_BASIC_EXCEPTION
+ #define	SbERR_BASIC_COMPAT                  ERRCODE_BASIC_COMPAT
++#define	SbERR_BASIC_ARRAY_FIX				ERRCODE_BASIC_ARRAY_FIX
++#define	SbERR_BASIC_STRING_OVERFLOW		ERRCODE_BASIC_STRING_OVERFLOW
++#define	SbERR_BASIC_EXPR_TOO_COMPLEX		ERRCODE_BASIC_EXPR_TOO_COMPLEX
++#define	SbERR_BASIC_OPER_NOT_PERFORM		ERRCODE_BASIC_OPER_NOT_PERFORM
++#define	SbERR_BASIC_TOO_MANY_DLL			ERRCODE_BASIC_TOO_MANY_DLL
++#define	SbERR_BASIC_LOOP_NOT_INIT			ERRCODE_BASIC_LOOP_NOT_INIT
+ // #define	SbERR_COMPILER_END					ERRCODE_BASIC_COMPILER_END
+ 
+ /* ALT

Added: trunk/scratch/sc-vba/testvba/TestDocuments/error.xls
==============================================================================
Binary file. No diff available.



[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]