Chapter 8: Integrating a Flash Application
71
TI
-
89 / TI
-
92 Plus Developer Guide
Not for Distribution
Beta Version January 26, 2001
*errNo = ER_OKAY;
TRY
TRY
runningBASIC = TRUE;
if (NG_tokenize(hProgram, errNo, &errOffset)) {
hTokenized = HS_popEStack();
NG_execute(hTokenized, NG_DONT_APPROXIMATE);
if (top_estack != savetop)
hResult = HS_popEStack();
}
FINALLY
runningBASIC = FALSE;
HeapFreeIndir(&hTokenized);
top_estack = savetop;
reset_control_flags();
ENDFINAL
ONERR
*errNo = errCode;
ENDTRY
return hResult;
}
/* Store Prog to symbol table, returning hVal of program if success. */
HANDLE StoProg( char *ProgName, const BYTE *Prog )
{
BYTE nameBuf[MAX_SYM_LEN];
HSYM hsym;
SYM_ENTRY *SymPtr;
HANDLE hVal = H_NULL;
WORD ProgSize = (Prog[0] * 256 + Prog[1]) + 2;
TRY
if (FS_OK == TokenizeName( ProgName, nameBuf )) {
cmd_delvar( TokNameRight(nameBuf) );
if (hsym=VarStore(TokNameRight(nameBuf), STOF_NONE,
ProgSize, ProgEnd(Prog)))
{
if (SymPtr = DerefSym(hsym)) {
if (hVal = SymPtr->hVal)
memcpy( HeapDeref(hVal), Prog, ProgSize );
}
}
}
ONERR
ERD_dialog( errCode, FALSE );
return 0;
ENDTRY
return hVal;
}
BOOL RunProg( char *ProgName )
{ HANDLE hCommand, hResult;
char *pCommand;
SINT errCode;