All: Does anyone know what the bounds violation is and how to correct it? run pastest.nmprg **** Bound violation or range error (TRAPS 12). ABORT: PASTEST.NMPRG.E3K NM PROG 348.000058f0 sendfuncmsg+$104 Program terminated in an error state. (CIERR 976) Here's the Pascal source code: $SET 'X9=TRUE'$ $IF 'NOT X9'$ $SUBPROGRAM $ENDIF$ PROGRAM TEST; type pa = packed array [1..256] of char; $IF 'X9'$ var medev, ilen : shortint; mmsg : pa; smsg : string [256]; PROCEDURE WHO; intrinsic; $ENDIF$ {-------------------------------------------------------------------} PROCEDURE SENDFUNCMSG ( var ldev: shortint; var msg: pa; var len: shortint); const imp = 2; maxmsg = 256; var ilen : shortint; bbuf : string [maxmsg+8]; PROCEDURE GENMSG (setno, error, mask, parm1, parm2, parm3, parm4, parm5: shortint; destdev, q1, q2, q3, flags: shortint ); external spl variable; PROCEDURE GETPRIVMODE; intrinsic; FUNCTION ASCII:shortint; intrinsic; begin if ( len <= maxmsg ) then begin bbuf := ' &j000L'; bbuf [1] := chr(27); ilen := ASCII ( len, -10, bbuf [6]); strmove ( len, msg, 1, bbuf, 8 ); GETPRIVMODE; GENMSG ( -1, baddress(bbuf[1]),0,,,,,,ldev,,,,imp); end; end; BEGIN {---Testcode--------------------------------------------------------} $IF 'X9'$ WHO (,,,,,,,medev); smsg := 'Testing #&dBMessages#&d@ over '+ 'the bottom function keys!##with CR,LF in message!'; smsg [ 9] := chr(27); smsg [21] := chr(27); smsg [56] := chr(13); smsg [57] := chr(10); ilen := strlen (smsg); strmove ( ilen, smsg, 1, mmsg, 1 ); SENDFUNCMSG (medev, mmsg, ilen); $ENDIF$ END. TIA Again, Brian Donaldson. * To join/leave the list, search archives, change list settings, * * etc., please visit http://raven.utc.edu/archives/hp3000-l.html *