Knowledge Base

CLEAR Should Not Be Used in Event Trap

Article ID: 12074

Article Last Modified on 11/21/2006

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.

Additional query words: QuickBas BasicCom

Keywords: KB12074