20000403-02:11 GMT+1 Victor Szakats <info@szelvesz.hu>
This commit is contained in:
@@ -1,3 +1,30 @@
|
||||
20000403-02:11 GMT+1 Victor Szakats <info@szelvesz.hu>
|
||||
|
||||
* contrib/runjava/runjava.c
|
||||
* include/hbexprb.c
|
||||
* include/hbapilng.h
|
||||
* include/hbvmpub.h
|
||||
* source/rdd/dbf1.c
|
||||
* source/rtl/gtdos/gtdos.c
|
||||
* source/rtl/gtsln/gtsln.c
|
||||
* source/rtl/tget.prg
|
||||
* source/tools/asciisum.c
|
||||
* source/tools/strasint.c
|
||||
* source/tools/stringsx.c
|
||||
* source/tools/nconvert.prg
|
||||
* source/vm/hvm.c
|
||||
* source/vm/macro.c
|
||||
* source/vm/memvars.c
|
||||
* tests/memvar.prg
|
||||
* tests/testwarn.prg
|
||||
* tests/tstmacro.prg
|
||||
! Tabs converted to spaces.
|
||||
Please don't use tabs in the sources, because the formatting may be
|
||||
much different when using another editor.
|
||||
|
||||
* source/tools/Makefile
|
||||
! Some corrections
|
||||
|
||||
20000403-01:26 GMT+1 Victor Szakats <info@szelvesz.hu>
|
||||
|
||||
* source/vm/itemapi.c
|
||||
|
||||
@@ -385,7 +385,7 @@ static void hb_hrbFileRead( char * file, char * cBuffer, int iSize, int iCount )
|
||||
|
||||
while( nChar>0 ){
|
||||
cBuffer[nChar-1] = ((char*)file+nPos)[nChar-1];
|
||||
nChar--;
|
||||
nChar--;
|
||||
}
|
||||
nPos += iSize*iCount;
|
||||
}
|
||||
|
||||
@@ -45,10 +45,10 @@ extern "C" {
|
||||
#define HB_LANG_TEXT_DATEFMT 0
|
||||
#define HB_LANG_TEXT_YESCHAR 1
|
||||
#define HB_LANG_TEXT_NOCHAR 2
|
||||
#define HB_LANG_TEXT_MAX_ 3
|
||||
#define HB_LANG_TEXT_MAX_ 3
|
||||
|
||||
#define HB_LANG_ED_MAX_ 51
|
||||
#define HB_LANG_EI_MAX_ 6
|
||||
#define HB_LANG_ED_MAX_ 51
|
||||
#define HB_LANG_EI_MAX_ 6
|
||||
|
||||
/* ; */
|
||||
|
||||
@@ -93,16 +93,16 @@ extern void hb_langListRelease ( void );
|
||||
|
||||
/* Default language selection and data query */
|
||||
|
||||
extern void hb_langDSet ( PHB_LANG lang );
|
||||
extern PHB_LANG hb_langDGet ( void );
|
||||
extern void hb_langDSet ( PHB_LANG lang );
|
||||
extern PHB_LANG hb_langDGet ( void );
|
||||
|
||||
extern char * hb_langDGetName ( void );
|
||||
extern char * hb_langDGetID ( void );
|
||||
extern char * hb_langDGetText ( ULONG ulIndex );
|
||||
extern char * hb_langDGetDayName ( ULONG ulIndex );
|
||||
extern char * hb_langDGetMonthName ( ULONG ulIndex );
|
||||
extern char * hb_langDGetErrorDesc ( ULONG ulIndex );
|
||||
extern char * hb_langDGetErrorIntr ( ULONG ulIndex );
|
||||
extern char * hb_langDGetName ( void );
|
||||
extern char * hb_langDGetID ( void );
|
||||
extern char * hb_langDGetText ( ULONG ulIndex );
|
||||
extern char * hb_langDGetDayName ( ULONG ulIndex );
|
||||
extern char * hb_langDGetMonthName ( ULONG ulIndex );
|
||||
extern char * hb_langDGetErrorDesc ( ULONG ulIndex );
|
||||
extern char * hb_langDGetErrorIntr ( ULONG ulIndex );
|
||||
|
||||
/* Single language */
|
||||
|
||||
|
||||
@@ -314,9 +314,9 @@ static HB_EXPR_FUNC( hb_compExprUseString )
|
||||
{
|
||||
HB_EXPR_PCODE2( hb_compGenPushString, pSelf->value.asString, pSelf->ulLength );
|
||||
#if !defined( HB_MACRO_SUPPORT )
|
||||
/* only memvar variables are allowed in macro compilation - there is no
|
||||
* need to check for locals or static variables
|
||||
*/
|
||||
/* only memvar variables are allowed in macro compilation - there is no
|
||||
* need to check for locals or static variables
|
||||
*/
|
||||
if( hb_compExprCheckMacroVar( pSelf->value.asString ) )
|
||||
HB_EXPR_PCODE1( hb_compGenPCode1, HB_P_MACROTEXT );
|
||||
#endif
|
||||
|
||||
@@ -44,9 +44,6 @@ extern "C" {
|
||||
|
||||
struct _HB_DYNS;
|
||||
|
||||
/* 30/03/2000 - maurilio.longo@libero.it
|
||||
OS/2 GCC valid values for pragma pack are 1, 2, 4 with 4 being default
|
||||
*/
|
||||
#if defined(_MSC_VER) && _MSC_VER < 1000
|
||||
#pragma pack(8)
|
||||
#endif
|
||||
|
||||
@@ -236,8 +236,7 @@ static BOOL hb_dbfWriteMemo( AREAP pArea, LPDBFMEMO pMemo, ULONG * lNewRecNo )
|
||||
BYTE szBuffer[ MEMO_BLOCK ];
|
||||
MEMOHEADER pMemoHeader;
|
||||
|
||||
HB_TRACE(HB_TR_DEBUG, ("hb_dbfWriteMemo(%p, %p, %p)",
|
||||
pArea, pMemo, lNewRecNo));
|
||||
HB_TRACE(HB_TR_DEBUG, ("hb_dbfWriteMemo(%p, %p, %p)", pArea, pMemo, lNewRecNo));
|
||||
|
||||
if( !pArea->lpExtendInfo->fExclusive && !pArea->lpDataInfo->fFileLocked &&
|
||||
!hb_fsLock( pArea->lpDataInfo->pNext->hFile, LOCK_APPEND - 1, 1, FL_LOCK ) )
|
||||
|
||||
@@ -703,27 +703,27 @@ void hb_gt_Puts( USHORT cRow, USHORT cCol, BYTE attr, BYTE *str, ULONG len )
|
||||
ptr = ch_attr = hb_xgrab( i * 2 );
|
||||
while( i-- )
|
||||
{
|
||||
*ptr++ = *str++;
|
||||
*ptr++ = attr;
|
||||
*ptr++ = *str++;
|
||||
*ptr++ = attr;
|
||||
}
|
||||
i = len - 1; /* We want end position, not next cursor position */
|
||||
right = left;
|
||||
bottom = top;
|
||||
if( right + i > width - 1 )
|
||||
{
|
||||
/*
|
||||
* Calculate end row position and the remainder size for the
|
||||
* end column adjust.
|
||||
*/
|
||||
bottom += ( i / width );
|
||||
i = i % width;
|
||||
/*
|
||||
* Calculate end row position and the remainder size for the
|
||||
* end column adjust.
|
||||
*/
|
||||
bottom += ( i / width );
|
||||
i = i % width;
|
||||
}
|
||||
right += i;
|
||||
if( right > width - 1 )
|
||||
{
|
||||
/* Column movement overflows into next row */
|
||||
bottom++;
|
||||
right -= width;
|
||||
/* Column movement overflows into next row */
|
||||
bottom++;
|
||||
right -= width;
|
||||
}
|
||||
puttext( left + 1, top + 1, right + 1, bottom + 1, ch_attr );
|
||||
hb_xfree( ch_attr );
|
||||
@@ -736,8 +736,8 @@ void hb_gt_Puts( USHORT cRow, USHORT cCol, BYTE attr, BYTE *str, ULONG len )
|
||||
p = hb_gt_ScreenPtr( cRow, cCol );
|
||||
for( i = 0; i < len; i++ )
|
||||
{
|
||||
*p++ = *str++;
|
||||
*p++ = attr;
|
||||
*p++ = *str++;
|
||||
*p++ = attr;
|
||||
}
|
||||
}
|
||||
#endif
|
||||
@@ -757,11 +757,11 @@ void hb_gt_GetText( USHORT usTop, USHORT usLeft, USHORT usBottom, USHORT usRight
|
||||
|
||||
for( y = usTop; y <= usBottom; y++ )
|
||||
{
|
||||
for( x = usLeft; x <= usRight; x++ )
|
||||
{
|
||||
hb_gt_xGetXY( y, x, dest + 1, dest );
|
||||
dest += 2;
|
||||
}
|
||||
for( x = usLeft; x <= usRight; x++ )
|
||||
{
|
||||
hb_gt_xGetXY( y, x, dest + 1, dest );
|
||||
dest += 2;
|
||||
}
|
||||
}
|
||||
}
|
||||
#endif
|
||||
@@ -781,11 +781,11 @@ void hb_gt_PutText( USHORT usTop, USHORT usLeft, USHORT usBottom, USHORT usRight
|
||||
|
||||
for( y = usTop; y <= usBottom; y++ )
|
||||
{
|
||||
for( x = usLeft; x <= usRight; x++ )
|
||||
{
|
||||
hb_gt_xPutch( y, x, *( srce + 1 ), *srce );
|
||||
srce += 2;
|
||||
}
|
||||
for( x = usLeft; x <= usRight; x++ )
|
||||
{
|
||||
hb_gt_xPutch( y, x, *( srce + 1 ), *srce );
|
||||
srce += 2;
|
||||
}
|
||||
}
|
||||
}
|
||||
#endif
|
||||
|
||||
@@ -50,8 +50,8 @@ void hb_gt_Init( int iFilenoStdin, int iFilenoStdout, int iFilenoStderr )
|
||||
SLtt_get_terminfo();
|
||||
SLkp_init();
|
||||
SLang_init_tty(34, /* Ctrl-G */
|
||||
0, /* no flow-control */
|
||||
0); /* no output processing */
|
||||
0, /* no flow-control */
|
||||
0); /* no output processing */
|
||||
SLang_set_abort_signal(NULL);
|
||||
SLsmg_init_smg ();
|
||||
}
|
||||
|
||||
@@ -40,7 +40,7 @@
|
||||
#include "getexit.ch"
|
||||
#include "inkey.ch"
|
||||
|
||||
#define GET_CLR_UNSELECTED 0
|
||||
#define GET_CLR_UNSELECTED 0
|
||||
#define GET_CLR_ENHANCED 1
|
||||
|
||||
//----------------------------------------------------------------------------//
|
||||
|
||||
@@ -16,9 +16,9 @@ C_SOURCES=\
|
||||
chrtotal.c \
|
||||
ctchksum.c \
|
||||
ctchrmix.c \
|
||||
ctcolton.c \
|
||||
ctcolton.c \
|
||||
ctcrypt.c \
|
||||
ctposupp.c \
|
||||
ctposupp.c \
|
||||
dates2.c \
|
||||
dbftools.c \
|
||||
hb_f.c \
|
||||
@@ -35,7 +35,7 @@ C_SOURCES=\
|
||||
strright.c \
|
||||
|
||||
PRG_SOURCES=\
|
||||
ctmisc.prg \
|
||||
ctmisc.prg \
|
||||
fileread.prg \
|
||||
nconvert.prg \
|
||||
numtxthu.prg \
|
||||
|
||||
@@ -21,16 +21,16 @@
|
||||
|
||||
HB_FUNC( GT_ASCIISUM )
|
||||
{
|
||||
char *str;
|
||||
char *str;
|
||||
int len, i;
|
||||
long ascSum = 0;
|
||||
long ascSum = 0;
|
||||
|
||||
str = hb_parc(1);
|
||||
str = hb_parc(1);
|
||||
len = hb_parclen(1);
|
||||
|
||||
for (i = 0; i <= len; i++,str++) {
|
||||
ascSum += *str;
|
||||
}
|
||||
}
|
||||
|
||||
hb_retnl(ascSum);
|
||||
}
|
||||
|
||||
@@ -38,8 +38,8 @@ FUNCTION IsBin(cString)
|
||||
cString:=AllTrim(cString)
|
||||
FOR nX:=1 to Len(cString)
|
||||
IF !(SubStr(cString,nX,1) $"01")
|
||||
lFlag:=.F.
|
||||
EXIT
|
||||
lFlag:=.F.
|
||||
EXIT
|
||||
ENDIF
|
||||
NEXT nX
|
||||
RETURN(lFlag)
|
||||
@@ -49,8 +49,8 @@ FUNCTION IsOctal(cString)
|
||||
cString:=AllTrim(cString)
|
||||
FOR nX:=1 to Len(cString)
|
||||
if !(SubStr(cString,nX,1) $"01234567")
|
||||
lFlag:=.f.
|
||||
EXIT
|
||||
lFlag:=.f.
|
||||
EXIT
|
||||
ENDIF
|
||||
NEXT nX
|
||||
RETURN(lFlag)
|
||||
@@ -60,8 +60,8 @@ FUNCTION IsDec(cString)
|
||||
cString:=AllTrim(cString)
|
||||
FOR nX:=1 to Len(cString)
|
||||
if !(SubStr(cString,nX,1) $"0123456789")
|
||||
lFlag:=.f.
|
||||
EXIT
|
||||
lFlag:=.f.
|
||||
EXIT
|
||||
ENDIF
|
||||
NEXT nX
|
||||
RETURN(lFlag)
|
||||
@@ -71,8 +71,8 @@ FUNCTION IsHexa(cString)
|
||||
cString:=AllTrim(cString)
|
||||
FOR nX:=1 to Len(cString)
|
||||
if !(SubStr(cString,nX,1) $"0123456789ABCDEF")
|
||||
lFlag:=.f.
|
||||
EXIT
|
||||
lFlag:=.f.
|
||||
EXIT
|
||||
ENDIF
|
||||
NEXT nX
|
||||
RETURN(lFlag)
|
||||
@@ -113,7 +113,7 @@ FUNCTION BinToDec(cString)
|
||||
local nLen:=Len(cNewString)
|
||||
FOR nX:=1 to nLen
|
||||
nNumber+=(At(SubStr(cNewString,nX,1),'01')-1)*;
|
||||
(2**(nLen-nX))
|
||||
(2**(nLen-nX))
|
||||
NEXT nX
|
||||
RETURN(nNumber)
|
||||
|
||||
@@ -123,7 +123,7 @@ FUNCTION OctalToDec(cString)
|
||||
local nLen:=Len(cNewString)
|
||||
FOR nX:=1 to nLen
|
||||
nNumber+=(At(SubStr(cNewString,nX,1),'01234567')-1)*;
|
||||
(8**(nLen-nX))
|
||||
(8**(nLen-nX))
|
||||
NEXT nX
|
||||
RETURN(nNumber)
|
||||
|
||||
@@ -133,7 +133,7 @@ FUNCTION HexaToDec(cString)
|
||||
local nLen:=Len(cNewString)
|
||||
FOR nX:=1 to nLen
|
||||
nNumber+=(At(SubStr(cNewString,nX,1),'0123456789ABCDEF')-1)*;
|
||||
(16**(nLen-nX))
|
||||
(16**(nLen-nX))
|
||||
NEXT nX
|
||||
RETURN nNumber
|
||||
|
||||
|
||||
@@ -24,10 +24,10 @@ int _GT_Internal_StringAsInt(char *String, int Start, int End)
|
||||
for (Digit = End; Digit >= Start; Digit--)
|
||||
{
|
||||
if (ISDIGIT(String[Digit]))
|
||||
{
|
||||
Value += (String[Digit] - 0x30) * Decimal;
|
||||
Decimal *= 0xA;
|
||||
}
|
||||
{
|
||||
Value += (String[Digit] - 0x30) * Decimal;
|
||||
Decimal *= 0xA;
|
||||
}
|
||||
}
|
||||
return(Value);
|
||||
}
|
||||
|
||||
@@ -7,10 +7,10 @@
|
||||
/* TODO: search this file for TODO and find 'em! */
|
||||
|
||||
char *hb_strtoken(char *szText,
|
||||
long lText,
|
||||
long lIndex,
|
||||
char cDelimiter,
|
||||
long *lLen)
|
||||
long lText,
|
||||
long lIndex,
|
||||
char cDelimiter,
|
||||
long *lLen)
|
||||
{
|
||||
long wStart;
|
||||
long wEnd = 0;
|
||||
@@ -23,25 +23,25 @@ char *hb_strtoken(char *szText,
|
||||
wStart = wEnd;
|
||||
|
||||
if( cDelimiter != ' ' )
|
||||
{
|
||||
if( szText[wStart] == cDelimiter )
|
||||
{
|
||||
if( szText[wStart] == cDelimiter )
|
||||
wStart++;
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
while( wStart < lText && szText[wStart] == cDelimiter )
|
||||
{
|
||||
while( wStart < lText && szText[wStart] == cDelimiter )
|
||||
wStart++;
|
||||
}
|
||||
}
|
||||
|
||||
if( wStart < lText && szText[wStart] != cDelimiter )
|
||||
{
|
||||
wEnd = wStart + 1;
|
||||
{
|
||||
wEnd = wStart + 1;
|
||||
|
||||
while( wEnd < lText && szText[wEnd] != cDelimiter )
|
||||
while( wEnd < lText && szText[wEnd] != cDelimiter )
|
||||
wEnd++;
|
||||
}
|
||||
}
|
||||
else
|
||||
wEnd = wStart;
|
||||
wEnd = wStart;
|
||||
} while( wCounter++ < lIndex - 1 && wEnd < lText );
|
||||
|
||||
if( wCounter < lIndex )
|
||||
@@ -92,15 +92,15 @@ HB_FUNC( ROT13 )
|
||||
char *szResult = (char*)hb_xgrab(lLen + 1);
|
||||
|
||||
for( i = 0; i < lLen; i++ )
|
||||
{
|
||||
char c = szText[i];
|
||||
if( (c >= 'A' && c <= 'M') || (c >= 'a' && c <= 'm') )
|
||||
{
|
||||
char c = szText[i];
|
||||
if( (c >= 'A' && c <= 'M') || (c >= 'a' && c <= 'm') )
|
||||
c += 13;
|
||||
else if( (c >= 'N' && c <= 'Z') || (c >= 'n' && c <= 'z') )
|
||||
else if( (c >= 'N' && c <= 'Z') || (c >= 'n' && c <= 'z') )
|
||||
c -= 13;
|
||||
|
||||
szResult[i] = c;
|
||||
}
|
||||
szResult[i] = c;
|
||||
}
|
||||
hb_retclen(szResult, lLen);
|
||||
hb_xfree(szResult);
|
||||
}
|
||||
|
||||
@@ -1148,13 +1148,13 @@ void hb_vmExecute( BYTE * pCode, PHB_SYMB pSymbols )
|
||||
else if( s_uiActionRequest & HB_QUIT_REQUESTED )
|
||||
break;
|
||||
else if( s_uiActionRequest & HB_ENDPROC_REQUESTED )
|
||||
{
|
||||
/* request to stop current procedure was issued
|
||||
* (from macro evaluation)
|
||||
*/
|
||||
s_uiActionRequest = 0;
|
||||
{
|
||||
/* request to stop current procedure was issued
|
||||
* (from macro evaluation)
|
||||
*/
|
||||
s_uiActionRequest = 0;
|
||||
break;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
if( pSymbols )
|
||||
@@ -2232,7 +2232,7 @@ static void hb_vmArrayPop( void )
|
||||
hb_itemCopy( pArray, pValue ); /* places pValue at pArray position */
|
||||
hb_stackPop();
|
||||
hb_stackPop();
|
||||
hb_stackPop(); /* remove the value from the stack just like other POP operations */
|
||||
hb_stackPop(); /* remove the value from the stack just like other POP operations */
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
@@ -595,7 +595,7 @@ void hb_macroPushSymbol( HB_ITEM_PTR pItem )
|
||||
/* NOTE: checking for valid function name (valid pointer) is done
|
||||
* in hb_vmDo()
|
||||
*/
|
||||
hb_vmPushSymbol( pDynSym->pSymbol ); /* push compiled symbol instead of a string */
|
||||
hb_vmPushSymbol( pDynSym->pSymbol ); /* push compiled symbol instead of a string */
|
||||
|
||||
if( bNewBuffer )
|
||||
hb_xfree( szString ); /* free space allocated in hb_macroTextSubst */
|
||||
|
||||
@@ -339,7 +339,7 @@ void hb_memvarValueDecRef( HB_HANDLE hValue )
|
||||
else
|
||||
++s_globalFreeCnt;
|
||||
|
||||
HB_TRACE(HB_TR_INFO, ("Memvar item (%i) deleted", hValue));
|
||||
HB_TRACE(HB_TR_INFO, ("Memvar item (%i) deleted", hValue));
|
||||
}
|
||||
}
|
||||
/* This can happen if for example PUBLIC variable holds a codeblock
|
||||
|
||||
@@ -171,7 +171,7 @@ RETURN
|
||||
|
||||
PROCEDURE TEST5()
|
||||
PUBLIC mempublic, public3:=3
|
||||
//PUBLIC public2[ 10 ] //unsupported yet
|
||||
//PUBLIC public2[ 10 ] //unsupported yet
|
||||
PRIVATE memprivate
|
||||
PARAMETERS memparam
|
||||
|
||||
@@ -210,7 +210,7 @@ FUNCTION UseVar( value )
|
||||
UseRef( @value )
|
||||
|
||||
#ifdef __HARBOUR__
|
||||
__mvPUBLIC( "public1" ) //, "public21" )
|
||||
__mvPUBLIC( "public1" ) //, "public21" )
|
||||
// __mvPRIVATE( "private1", "private2", "private3" )
|
||||
__mvPRIVATE( {"private1", "private2", "private3"} )
|
||||
Qout( "undeclared PUBLIC created by __PUBLIC function=", public1 )
|
||||
|
||||
@@ -23,7 +23,7 @@ FUNCTION Hex2Dec( lVar AS LOGICAL )
|
||||
|
||||
nVar := 1
|
||||
|
||||
nVar := 'A'
|
||||
nVar := 'A'
|
||||
|
||||
cVar := 2
|
||||
|
||||
@@ -37,13 +37,13 @@ FUNCTION Hex2Dec( lVar AS LOGICAL )
|
||||
|
||||
cVar := nVar
|
||||
|
||||
NondDeclared := 2
|
||||
NondDeclared := 2
|
||||
|
||||
cVar := {|x,y,z| nMyFunc( 3 ) }
|
||||
|
||||
nVar := 8 + cVar
|
||||
nVar := 8 + cVar
|
||||
|
||||
IF 1
|
||||
IF 1
|
||||
|
||||
ENDIF
|
||||
|
||||
|
||||
@@ -6,43 +6,43 @@
|
||||
|
||||
Function Main( )
|
||||
|
||||
PRIVATE cStr := 'cVar', cStr_1 := 'cVar_1', aVar := { 'cVar_1' }, oVar
|
||||
PRIVATE cStr := 'cVar', cStr_1 := 'cVar_1', aVar := { 'cVar_1' }, oVar
|
||||
|
||||
PRIVATE cVar_1, cMainPrivate := 'cVar_1', GlobalPrivate := 'BornInRunTimeVar'
|
||||
PRIVATE cVar_1, cMainPrivate := 'cVar_1', GlobalPrivate := 'BornInRunTimeVar'
|
||||
|
||||
&cStr_1 = 'Simple '
|
||||
? M->cVar_1
|
||||
&cStr_1 = 'Simple '
|
||||
? M->cVar_1
|
||||
|
||||
&( 'cVar' + '_1' ) := 'Macro'
|
||||
?? M->cVar_1
|
||||
&( 'cVar' + '_1' ) := 'Macro'
|
||||
?? M->cVar_1
|
||||
|
||||
M->&cStr_1 = 'Aliased'
|
||||
? M->cVar_1
|
||||
M->&cStr_1 = 'Aliased'
|
||||
? M->cVar_1
|
||||
|
||||
MEMVAR->&( 'cVar' + '_1' ) := ' Macro'
|
||||
?? M->cVar_1
|
||||
MEMVAR->&( 'cVar' + '_1' ) := ' Macro'
|
||||
?? M->cVar_1
|
||||
|
||||
cStr := 'cVar_'
|
||||
&cStr.1 = 'Concatenated Macro (Numeric)'
|
||||
? M->cVar_1
|
||||
cStr := 'cVar_'
|
||||
&cStr.1 = 'Concatenated Macro (Numeric)'
|
||||
? M->cVar_1
|
||||
|
||||
cStr := 'cVar'
|
||||
&cStr._1 = 'Concatenated Macro (String)'
|
||||
? M->cVar_1
|
||||
cStr := 'cVar'
|
||||
&cStr._1 = 'Concatenated Macro (String)'
|
||||
? M->cVar_1
|
||||
|
||||
&( aVar[1] ) := 'Array Macro'
|
||||
? M->cVar_1
|
||||
&( aVar[1] ) := 'Array Macro'
|
||||
? M->cVar_1
|
||||
|
||||
oVar := TValue():New()
|
||||
oVar:cVal := 'cVar_1'
|
||||
&( oVar:cVal ) := 'Class Macro'
|
||||
? M->cVar_1
|
||||
oVar := TValue():New()
|
||||
oVar:cVal := 'cVar_1'
|
||||
&( oVar:cVal ) := 'Class Macro'
|
||||
? M->cVar_1
|
||||
|
||||
SubFun()
|
||||
SubFun()
|
||||
|
||||
? '"cVar_1" = [' + M->cVar_1 + '] AFTER SubFun() PRIVATE'
|
||||
? '"cVar_1" = [' + M->cVar_1 + '] AFTER SubFun() PRIVATE'
|
||||
|
||||
? M->NewPublicVar
|
||||
? M->NewPublicVar
|
||||
|
||||
RETURN NIL
|
||||
|
||||
@@ -56,7 +56,7 @@ FUNCTION TValue
|
||||
oClass:AddData( "cVal" )
|
||||
oClass:AddMethod( "New", @New() ) // New Method
|
||||
|
||||
oClass:Create()
|
||||
oClass:Create()
|
||||
|
||||
ENDIF
|
||||
|
||||
@@ -70,24 +70,24 @@ RETURN Self
|
||||
|
||||
Function SubFun()
|
||||
|
||||
? '"cVar_1" = [' + M->cVar_1 + '] BEFORE SubFun() PRIVATE'
|
||||
? '"cVar_1" = [' + M->cVar_1 + '] BEFORE SubFun() PRIVATE'
|
||||
|
||||
// Testing conflict with KEY WORDS
|
||||
PRIVATE PRIVATE := 'I am a Var named PRIVATE ', &cMainPrivate, SomeVar, OtherVar := 1, &GlobalPrivate := 'I was born in Run Time'
|
||||
PUBLIC PUBLIC := 'NewPublicVar'
|
||||
PUBLIC &PUBLIC
|
||||
// Testing conflict with KEY WORDS
|
||||
PRIVATE PRIVATE := 'I am a Var named PRIVATE ', &cMainPrivate, SomeVar, OtherVar := 1, &GlobalPrivate := 'I was born in Run Time'
|
||||
PUBLIC PUBLIC := 'NewPublicVar'
|
||||
PUBLIC &PUBLIC
|
||||
|
||||
? M->NewPublicVar
|
||||
? M->NewPublicVar
|
||||
|
||||
M->NewPublicVar := 'Still Alive because I am PUBLIC'
|
||||
M->NewPublicVar := 'Still Alive because I am PUBLIC'
|
||||
|
||||
? M->PRIVATE + PRIVATE
|
||||
? PRIVATE + M->PRIVATE
|
||||
? M->PRIVATE + PRIVATE
|
||||
? PRIVATE + M->PRIVATE
|
||||
|
||||
? BornInRunTimeVar
|
||||
? BornInRunTimeVar
|
||||
|
||||
&cMainPrivate := 'In SubFun()'
|
||||
&cMainPrivate := 'In SubFun()'
|
||||
|
||||
? '"cVar_1" = [' + M->cVar_1 + '] in SubFun() PRIVATE'
|
||||
? '"cVar_1" = [' + M->cVar_1 + '] in SubFun() PRIVATE'
|
||||
|
||||
RETURN NIL
|
||||
|
||||
Reference in New Issue
Block a user