140
Chapter 13: Memory Management
TI
-
89 / TI
-
92 Plus Developer Guide
Not for Distribution
Beta Version January 26, 2001
For example:
HSYM hsym; /* handle */
SYM_ENTRY *symp; /* pointer */
EStackIndex estackIndex, nPtr; /* pointer */
hsym = VarRecall( nPtr, 0 ); /* where nPtr is the pointer to the
variable name in tokenized format */
if( hsym ) {
symp = DerefSym( hsym ) ; /* symp points to symbol table entry */
if( symp->hVal ) { /* hVal is the handle to the data part of the
variable which can also be null. */
estackIndex = HToESI( symp->hVal );
/* estackIndex points to the last byte of the data,
which contains the type tag.
*/
.
.
.
VarRecall
may throw the following errors:
INVALID_PATHNAME_ERROR — Invalid variable name.
ER_FOLDER — The variable is a folder.
ER_INVALID_VAR_REF — The variable cannot be referenced in the
current mode. Some variables are only
accessible by the application that created
them, like C1 . . . C99, which can only be
accessed by the data matrix editor. Other
variables can only be accessed under certain
conditions, like the stat variables, which can
only be accessed if a stat calculation has been
made.
ER_RESERVED — The VR_NO_SYS_VARS flag was set and the
variable to be recalled was a system variable.
ER_UNDEFINED_VAR — Normally, H_NULL is returned if the variable is
not found. This error is thrown if an attempt is
made to execute an undefined function while
graphing.
Most system variables cannot be used in a function that is being graphed, either
because they change too often or because they are used by the graph routines
themselves (for example, xmin or xc). When these variables are accessed while
graphing, an error is reported by
VarRecall
. Locked variables may be looked up
with
VarRecall
.