ADDRESS null
OPTIONS 'TRAP'
SIGNAL ON HALT
SIGNAL ON SYNTAX
SIGNAL ON ERROR
CALL RXERR('ERROR|DISPLAY')
rxtype.1 = 'PUSH'
rxflags.1 = 'REPORT'
rxlabel.1 = 'One|Two|Three|Four|Windows'
rxval.1 = ''
rxpos.1 = '2 16 20'
rx = ''
CALL RXCREATE('RX', 1, 'Main Window', 'NOCLOSE')
win1 = ''
win2 = ''
win3 = ''
win4 = ''
more:
CALL RXMSG()
IF rxid == '' & rxwind = 'RX' THEN SIGNAL HALT
SELECT
WHEN rxwind = "RX" THEN DO
id = 'WIN'||rxsubid
CALL RXQUERY(id, 'ACTIVE', 'openflag')
IF openflag THEN CALL RXMSG(id, 'END')
ELSE DO
CALL VALUE(id||type.1, 'PUSH')
CALL VALUE(id||flags.1, 'RESULT')
CALL VALUE(id||label.1, 'OK|')
CALL VALUE(id||pos.1, '-1 7 6')
CALL RXCREATE(id, 1, 'Window '||rxsubid, 'NOCLOSE|RESULT')
END
END
WHEN rxwind = "WIN1" THEN DO
CALL RXSAY(rxwind)
END
WHEN rxwind = "WIN2" THEN DO
CALL RXSAY(rxwind)
END
WHEN rxwind = "WIN3" THEN DO
CALL RXSAY(rxwind)
END
WHEN rxwind = "WIN4" THEN DO
CALL RXSAY(rxwind)
END
END
IF rxwind \= "RX" THEN CALL RXMSG(rxwind, 'END')
SIGNAL more
syntax:
CALL RXSAY(CONDITION('D') || '0D0A0D0A'x || SOURCELINE(sigl),,'Error '||condition('E')||' at line '||sigl)
halt:
error:
CALL RXMSG(,'END')
EXIT
|