2000-09-20 23:36 UTC+0200 JFL (mafact) <jfl@mafact.com>

This commit is contained in:
Jean-Francois Lefebvre
2000-09-20 21:38:38 +00:00
parent cce682f7f9
commit 31c1024063
4 changed files with 43 additions and 25 deletions

View File

@@ -1,3 +1,13 @@
2000-09-20 23:36 UTC+0200 JFL (mafact) <jfl@mafact.com>
* harbour/include/hbsetup.ch
+ added a #define HB_CLS_ENFORCERO to enable full ReadOnly test on DATA
* harbour/source/pp/ppcore.c
minor reformating whith some comment and CygWin
* harbour/source/vm/classes.c
+ added a #define HB_CLS_ENFORCERO to enable full ReadOnly test on DATA
(Now disabled by default to extend compatibility with TopClass and VO)
(will be completed later)
2000-09-20 15:30 UTC-0400 David G. Holm <dholm@jsd-llc.com>
* include/hbver.h
@@ -284,8 +294,8 @@
* source/rdd/dbfcdx/dbfcdx1.c
! Changed SET_AUTOSHARE, now accept three values:
0: AUTOSHARE disabled.
1: AUTOSHARE enabled.
2: force exclusive mode.
1: AUTOSHARE enabled.
2: force exclusive mode.
2000-09-02 09:37 GMT+1 Bruno Cantero <bruno@issnet.net>
* contrib/rdd_ads/rddads.h
@@ -497,16 +507,16 @@
* include/hbclass.ch
+ Added TClass declaration:
DECLARE TClass ;
New( cName AS STRING, OPTIONAL SuperParams ) AS CLASS TClass ;
Create() AS OBJECT;
Instance() AS OBJECT ;
AddClsMthds( cName AS STRING, @Method(), nScope AS NUMERIC, n2 AS NUMERIC, n3 AS NUMERIC );
AddMultiClsData( cType AS STRING, uVal, nScope AS NUMERIC, aDatas AS ARRAY OF STRING );
AddMultiData( cType AS STRING, uVal, nScope AS NUMERIC, aDatas AS ARRAY OF STRING );
AddMethod( cName AS STRING, @Method(), nScope AS NUMERIC );
AddInLine( cName AS STRING, bBlock AS CODEBLOCK, nScope AS NUMERIC );
AddVirtual( cName AS STRING )
DECLARE TClass ;
New( cName AS STRING, OPTIONAL SuperParams ) AS CLASS TClass ;
Create() AS OBJECT;
Instance() AS OBJECT ;
AddClsMthds( cName AS STRING, @Method(), nScope AS NUMERIC, n2 AS NUMERIC, n3 AS NUMERIC );
AddMultiClsData( cType AS STRING, uVal, nScope AS NUMERIC, aDatas AS ARRAY OF STRING );
AddMultiData( cType AS STRING, uVal, nScope AS NUMERIC, aDatas AS ARRAY OF STRING );
AddMethod( cName AS STRING, @Method(), nScope AS NUMERIC );
AddInLine( cName AS STRING, bBlock AS CODEBLOCK, nScope AS NUMERIC );
AddVirtual( cName AS STRING )
+ Added declaration to s_oClass AS CLASS TClass
* tests/testdecl.prg
@@ -594,17 +604,17 @@
* source/macro/macroslx.c
+ Added:
#define MAX_STREAM 2048 /* Max length of in-line LITERAL */
#define MAX_STREAM_STARTER 2
#define MAX_STREAM_TERMINATOR 2
#define MAX_STREAM_EXCLUSIONS 2
#define MAX_STREAM 2048 /* Max length of in-line LITERAL */
#define MAX_STREAM_STARTER 2
#define MAX_STREAM_TERMINATOR 2
#define MAX_STREAM_EXCLUSIONS 2
* source/compiler/hbslex.c
+ Added:
#define MAX_STREAM 2048 /* Max length of in-line LITERAL */
#define MAX_STREAM_STARTER 7 /* "QOUT([" */
#define MAX_STREAM_TERMINATOR 4 /* "])\n" */
#define MAX_STREAM_EXCLUSIONS 2
#define MAX_STREAM 2048 /* Max length of in-line LITERAL */
#define MAX_STREAM_STARTER 7 /* "QOUT([" */
#define MAX_STREAM_TERMINATOR 4 /* "])\n" */
#define MAX_STREAM_EXCLUSIONS 2
* source/macro/macro.slx
* Replaced AND_IGNORE_DELIMITERS() with TEST_LEFT()

View File

@@ -38,7 +38,7 @@
#ifndef HB_SETUP_CH_
#define HB_SETUP_CH_
/* NOTE: You can select here, which features you want to include of the
/* NOTE: You can select here, which features you want to include of the
different Clipper implementations. */
#define HB_EXTENSION /* Enable Harbour extensions */
@@ -53,8 +53,8 @@
/* #define HB_COMPAT_FOXPRO */ /* Enable FoxPro extensions */
/* #define HB_COMPAT_DBASE */ /* Enable dBase extensions */
/* NOTE: HB_SHORTNAMES must be defined manually if the symbol name length is
set to 10 explicitly and not through the HB_C52_STRICT option
/* NOTE: HB_SHORTNAMES must be defined manually if the symbol name length is
set to 10 explicitly and not through the HB_C52_STRICT option
[vszakats] */
/* Turn on short names support for the class engine */
@@ -63,6 +63,7 @@
#endif
#define HB_CLS_MASKHIDDEN /* Disallow heritence of hidden variables */
//#define HB_CLS_ENFORCERO /* Activate the RO checking on OO DATA */
#endif /* HB_SETUP_CH_ */

View File

@@ -701,7 +701,7 @@ static void ParseCommand( char * sLine, BOOL com_or_xcom, BOOL com_or_tra )
/* JFL 2000-09-19 */
/* This was the original line as Alexander wrote it */
/* while( *sLine != '\0' && *sLine != ' ' && *sLine != '\t' && *sLine != '<' && *sLine != '=' && ( *sLine != '(' || ipos == 0 ) ) */
/* Now the line #xtranslate = name(.. => will be allowed
/* Now the line #xtranslate = name(.. => will be allowed */
/* I changed it to the following to allow < and = to be the first char within a translate or xtranslate */
while( *sLine != '\0' && *sLine != ' ' && *sLine != '\t' && ( *sLine != '<' || ipos == 0 ) && ( *sLine != '=' || ipos == 0 ) && ( *sLine != '(' || ipos == 0 ) )
@@ -972,7 +972,7 @@ int hb_pp_ParseExpression( char * sLine, char * sOutLine )
}
/* Look for definitions from #command */
if( kolpass < 3 )
if( kolpass < 3 ) /* JFL ! */
{
ptri = sLine + isdvig;
HB_SKIPTABSPACES( ptri );
@@ -1022,6 +1022,7 @@ int hb_pp_ParseExpression( char * sLine, char * sOutLine )
isdvig += ipos;
}
while( ipos != 0 );
kolpass++;
if( kolpass > 20 && rezDef )
{

View File

@@ -137,6 +137,9 @@
* __CLS_PAR00() (Allow the creation of class wich not autoinherit of the default TObject)
* Suppression of the default :Class message ==> transfered to tObject
*
* 1.35 ?
* 1.36 Adding HB_CLS_ENFORCERO FLAG to disable Write access to RO VAR
* This is work in progress (JFL) Should be related to some compatibility flag
*
* See doc/license.txt for licensing terms.
*
@@ -446,6 +449,7 @@ void hb_clsScope( PHB_ITEM pObject, PMETHOD pMethod )
}
#endif
#ifdef HB_CLS_ENFORCERO /* Not enabled by default */
if( ( uiScope & HB_OO_CLSTP_READONLY ) == HB_OO_CLSTP_READONLY )
{
if(
@@ -463,6 +467,8 @@ void hb_clsScope( PHB_ITEM pObject, PMETHOD pMethod )
hb_errRT_BASE( EG_NOMETHOD, 1004, "Scope violation (readonly)", szName );
}
}
#endif
}
}