Here's an interesting one for QLiberator afficionados to play with.

100 chan = 3
110 OPEN #chan,'con_448x40a32x216'
120 REPeat loop
130   IF INKEY$=CHR$(27) THEN EXIT loop
140   PRINT #chan,CHR$(RND(32 TO 191));
150 END REPeat loop
160 CLOSE #chan
170 STOP

Compile this with QLiberator with windows off, so that it should start 
with no windows open. Execute it, and you'll find 2 windows open, the 
one opened in line 110 and another which QPAC2 reports as 
CON_256x62a128x96

This must be caused by the incorrect INKEY$ in line 110 (I assume so 
because if it's changed to INKEY$(#chan) the extra window isn't 
opened. I'd have expected QLib to either ignore the inkey$ as it's 
asking for input from channel 0 or to stop with 'invalid channel ID' 
or similar.

Instead, the job seems to open an implicit channel because of the 
inkey$. Sometimes, an attempt to RJOB the version with 2 window 
channels crashes the machine or an error implying it's been unable to 
close that extra implicit channel. Anyone know what's going on?

-- 
Dilwyn Jones

_______________________________________________
QL-Users Mailing List
http://www.q-v-d.demon.co.uk/smsqe.htm

Reply via email to