CLEAR Should Not Be Used in Event Trap (12074)






This article was previously published under Q12074

SUMMARY

The presence of a CLEAR statement in the following event handling routine generates an "Illegal function call" error at compile time:
      CLEAR ,,800
      KEY(2) ON
      ON KEY(2) GOSUB 200
      WHILE INKEY$="" : WEND
      PRINT "this is a test"
      END
  200 CLEAR ,,800
      PRINT "this worked"
      RETURN
				
The error occurs because the CLEAR statement changes the stack. The CLEAR statement is not allowed in an event handler because it would destroy the return address.

Modification Type: Minor Last Reviewed: 1/8/2003
Keywords: KB12074