[<<Previous Entry]
[^^Up^^]
[Next Entry>>]
[Menu]
[About The Guide]
TYPE() Comments on Clipper 5.0 return values.
Clipper Version 1.29 dtd 04/15/91.
Problem Statement
1) TYPE("LocalVar" or "StaticVar") returns 'U'.
2) Successive uses of TYPE may produce erroneous values; e.g.,
? TYPE( "{| a | Foo( a ), }" ) // Prints "UE", syntax error.
? TYPE( "{| a | Foo( a ), .T. }" ) // Error has been corrected, but
// TYPE() still returns "UE".
? TYPE( "{| a | Foo( a ), .T. }" ) // This time, TYPE() returns "B".
Cause
1) TYPE("xVar") uses macro expansion to evaluate variables.
2) Unknown.
Work Around(s)
1) Use VALTYPE(var)
2) Use a function; e.g., the following by Michael Vivino 72210,2630
FUNCTION ChkBlock( cBlock )
TYPE( "{|| .T. }" ) // reset any prior error by passing
// a valid block to type()
RETURN TYPE( cBlock ) == [B] // Now syntax-check the passed block
Notes
TYPE("Undeclared_Var") Returns 'U'
VALTYPE(Undeclared_Var) Returns runtime error
This page created by ng2html v1.05, the Norton guide to HTML conversion utility.
Written by Dave Pearson