It seems like the mere act of overriding Form's preprocessing methods like WndProc and ProcessCmdKey in ABL Form can cause the application to throw ACCESS_VIOLATION error sporadically.
Any ideas?
|
||||
Brian Maher
|
||||
Principal Engineer, Technical Support
|
||||
Progress
|
||||
14 Oak Park | Bedford, MA 01730 | USA
|
||||
|
||||
|
|
||||
Brian Maher
|
||||
Principal Engineer, Technical Support
|
||||
Progress
|
||||
14 Oak Park | Bedford, MA 01730 | USA
|
||||
|
||||
|
Try this. It's for the ProcessCmdKey.
|
||||
Brian Maher
|
||||
Principal Engineer, Technical Support
|
||||
Progress
|
||||
14 Oak Park | Bedford, MA 01730 | USA
|
||||
|
||||
|
It's a form embedded inside a flyout pane (I've seen the error from just a standalone window too). No dialog-boxes or input-blocking code is called along the method (ItemLocator_TextBoxLeave) call stack.
METHOD PROTECTED OVERRIDE LOGICAL ProcessCmdKey( INPUT-OUTPUT msg AS CLASS System.Windows.Forms.Message, INPUT keyData AS CLASS System.Windows.Forms.Keys ):
glFromTab = Progress.Util.EnumHelper:AreEqual(keyData, System.Windows.Forms.Keys:Tab).
IF glFromTab AND
THIS-OBJECT:ByPassTabOnAutoLaunch AND
(gcOrigItem <> THIS-OBJECT:EditorText OR
(gcOrigItem = "" AND THIS-OBJECT:EditorText = "")) THEN /* allow handling tabbing when the item is blank */
DO:
ItemLocator_TextBoxLeave( ?, ? ). /* parent container will be responsible for handling TAB destination */
RETURN TRUE. /* processed */
END.
ELSE
RETURN SUPER:ProcessCmdKey(msg, keyData).
END METHOD.
|
||||
Brian Maher
|
||||
Principal Engineer, Technical Support
|
||||
Progress
|
||||
14 Oak Park | Bedford, MA 01730 | USA
|
||||
|
||||
|
Joseph,
Adding INPUT-OUTPUT to the parameter when you call the SUPER in WndProc is also needed (assuming that it isn't there).
Brian
Thanks, I'll try that one.
I put in placed your suggested change, but today (after 3 months), we just hit another ACCESS-VIOLATION error.
|
||||
Brian Maher
|
||||
Principal Engineer, Technical Support
|
||||
Progress
|
||||
14 Oak Park | Bedford, MA 01730 | USA
|
||||
|
||||
|