-------- Ex. 1 -------- (baseline; works OK) >DEFINE CLASS myForm AS form > ADD OBJECT txt1 AS TextBox >ENDDEFINE > >input: 1234 output: 1234 > >-------- Ex. 2 -------- (works OK too) >DEFINE CLASS myForm AS form > ADD OBJECT txt1 AS TextBox > PROCEDURE txt1.KEYPRESS( nKeyCode, nShiftAltCtrl) > ENDPROC >ENDDEFINE > >input: 1234 output: 1234 > >-------- Ex. 3 -------- (duplicates happen here) >DEFINE CLASS myForm AS form > ADD OBJECT txt1 AS TextBox > PROCEDURE txt1.KEYPRESS( nKeyCode, nShiftAltCtrl) > dodefault() > ENDPROC >ENDDEFINE > >input: 1234 output: 11223344 > >-------- Ex. 4 -------- (this one's OK...) >DEFINE CLASS myForm AS form > ADD OBJECT txt1 AS TextBox > PROCEDURE txt1.KEYPRESS( nKeyCode, nShiftAltCtrl) > messagebox( "hello from myForm") > ENDPROC >ENDDEFINE > >input: 1234 output: 1234 > >-------- Ex. 5 -------- (gets duplicates again, as expected) >DEFINE CLASS myForm AS form > ADD OBJECT txt1 AS TextBox > PROCEDURE txt1.KEYPRESS( nKeyCode, nShiftAltCtrl) > dodefault() > messagebox( "hello from myForm") > ENDPROC >ENDDEFINE > >input: 1234 output: 11223344 > >-------- Ex. 6 -------- (and now for something completely different) >DEFINE CLASS myForm AS form > ADD OBJECT txt1 AS TextBox > PROCEDURE txt1.KEYPRESS( nKeyCode, nShiftAltCtrl) > messagebox( "hello from myForm") > dodefault() > ENDPROC >ENDDEFINE > >input: 1234 output: 4321 (sic) >----------------------->