Page 1 of 1

EGestureException when destroying Frame

Posted: Mon Mar 16, 2015 10:44 am
by 16570767
I haven't been able to reproduce it, but it happened two times today: A very weird exception when disposing my forms. It's a EGestureException that seems to happen when a TCustomTeePanel is destroyed.

This is the callstack the debugger outputs:

Code: Select all

:76bbc42d KERNELBASE.RaiseException + 0x58
:00bb9982 HookedRaiseException + $66
Vcl.Touch.Gestures.TPlatformGestureEngine.TRealTimeStylus.EnableStylus(???,???)
Vcl.Touch.Gestures.TPlatformGestureEngine.TRealTimeStylus.SetEnabled(???)
Vcl.Touch.Gestures.TPlatformGestureEngine.TRealTimeStylus.Uninitialize
Vcl.Touch.Gestures.TPlatformGestureEngine.Destroy
System.TObject.Free
Vcl.Controls.TWinControl.Destroy
Vcl.Controls.TCustomControl.Destroy
:00c3d1a4 TPlatformGestureEngine.Destroy + $1C
and this is what the JCL stacktrace recorded:

Code: Select all

ClassName: 'EGestureException'
Message: 'Unable to enable or disable IRealTimeStylus: Wrong Parameter'
[16.03.2015 10:55:04.773] Exception-Stack:
[16.03.2015 10:55:04.773] [00C3CEB9] Vcl.Touch.Gestures.TPlatformGestureEngine.TRealTimeStylus.EnableStylus$qqroo (Line 999, "Vcl.Touch.Gestures.pas")
[16.03.2015 10:55:04.773] [00C3C732] Vcl.Touch.Gestures.TPlatformGestureEngine.TRealTimeStylus.SetEnabled$qqrxo (Line 801, "Vcl.Touch.Gestures.pas")
[16.03.2015 10:55:04.773] [00C3CF7A] Vcl.Touch.Gestures.TPlatformGestureEngine.TRealTimeStylus.Uninitialize$qqrv (Line 1023, "Vcl.Touch.Gestures.pas")
[16.03.2015 10:55:04.774] [00C3D19F] Vcl.Touch.Gestures.TPlatformGestureEngine.$bdtr$qqrv (Line 1071, "Vcl.Touch.Gestures.pas")
[16.03.2015 10:55:04.774] [0041A960] FastMM4.DebugFreeMem$qqrpv (Line 313, "frxBarcode.pas")
[16.03.2015 10:55:04.774] [00408E18] System.TObject.Free$qqrv (Line 15718, "System.pas")
[16.03.2015 10:55:04.774] [00566160] Vcl.Controls.TWinControl.$bdtr$qqrv (Line 8378, "Vcl.Controls.pas")
[16.03.2015 10:55:04.774] [00409536] System.@ClassDestroy$qqrxp14System.TObject (Line 16993, "System.pas")
[16.03.2015 10:55:04.774] [0056EC80] Vcl.Controls.TCustomControl.$bdtr$qqrv (Line 13819, "Vcl.Controls.pas")
[16.03.2015 10:55:04.774] [00C60F21] VCLTee.TeeProcs.Teeprocs.TCustomTeePanel.$bdtr$qqrv
[16.03.2015 10:55:04.774] [00C63F1E] VCLTee.TeeProcs.Teeprocs.TCustomTeePanelExtended.$bdtr$qqrv
[16.03.2015 10:55:04.774] [00C9F444] VCLTee.TeEngine.Teengine.TCustomAxisPanel.$bdtr$qqrv
[16.03.2015 10:55:04.774] [00CC2BDB] VCLTee.Chart.TCustomChart.$bdtr$qqrv
[16.03.2015 10:55:04.774] [005661BC] Vcl.Controls.TWinControl.$bdtr$qqrv (Line 8390, "Vcl.Controls.pas")
[16.03.2015 10:55:04.774] [00409536] System.@ClassDestroy$qqrxp14System.TObject (Line 16993, "System.pas")
[16.03.2015 10:55:04.774] [0056EC80] Vcl.Controls.TCustomControl.$bdtr$qqrv (Line 13819, "Vcl.Controls.pas")
[16.03.2015 10:55:04.774] [005661BC] Vcl.Controls.TWinControl.$bdtr$qqrv (Line 8390, "Vcl.Controls.pas")
[16.03.2015 10:55:04.774] [00409536] System.@ClassDestroy$qqrxp14System.TObject (Line 16993, "System.pas")
[16.03.2015 10:55:04.774] [00669DBF] Vcl.Forms.TScrollingWinControl.$bdtr$qqrv (Line 3060, "Vcl.Forms.pas")
[16.03.2015 10:55:04.774] [00E6187F] SomeFrameWithAChartBase.TSomeFrameWithAChartBase.$bdtr$qqrv (Line 616, "SomeFrameWithAChartBase.pas")
[16.03.2015 10:55:04.774] [00EBA24B] fs_iilparser.DoInclude (Line 274, "fs_iilparser.pas")
[16.03.2015 10:55:04.774] [00F80E75] SomeFrameWithAChart.TSomeFrameWithAChart.$bdtr$qqrv (Line 118, "SomeFrameWithAChart.pas")
[16.03.2015 10:55:04.774] [005661BC] Vcl.Controls.TWinControl.$bdtr$qqrv (Line 8390, "Vcl.Controls.pas")
[16.03.2015 10:55:04.774] [00409536] System.@ClassDestroy$qqrxp14System.TObject (Line 16993, "System.pas")
[16.03.2015 10:55:04.774] [0056EC80] Vcl.Controls.TCustomControl.$bdtr$qqrv (Line 13819, "Vcl.Controls.pas")
[16.03.2015 10:55:04.774] [005EE568] Vcl.ExtCtrls.Extctrls.TCustomGridPanel.$bdtr$qqrv (Line 3818, "Vcl.ExtCtrls.pas")
[16.03.2015 10:55:04.774] [0056745C] Vcl.Controls.TWinControl.Remove$qqrp21Vcl.Controls.TControl (Line 9044, "Vcl.Controls.pas")
[16.03.2015 10:55:04.774] [005661BC] Vcl.Controls.TWinControl.$bdtr$qqrv (Line 8390, "Vcl.Controls.pas")
[16.03.2015 10:55:04.774] [00560DD9] Vcl.Controls.ListRemove$qqrrp20System.Classes.TListpv (Line 4911, "Vcl.Controls.pas")
[16.03.2015 10:55:04.774] [005B0AE8] Vcl.ComCtrls.Comctrls.TTabSheet.$bdtr$qqrv (Line 6177, "Vcl.ComCtrls.pas")
[16.03.2015 10:55:04.775] [005661BC] Vcl.Controls.TWinControl.$bdtr$qqrv (Line 8390, "Vcl.Controls.pas")
[16.03.2015 10:55:04.775] [00409536] System.@ClassDestroy$qqrxp14System.TObject (Line 16993, "System.pas")
[16.03.2015 10:55:04.775] [005AFAD5] Vcl.ComCtrls.Comctrls.TCustomTabControl.$bdtr$qqrv (Line 5636, "Vcl.ComCtrls.pas")
[16.03.2015 10:55:04.775] [005B1188] Vcl.ComCtrls.Comctrls.TPageControl.$bdtr$qqrv (Line 6411, "Vcl.ComCtrls.pas")
[16.03.2015 10:55:04.775] [005661BC] Vcl.Controls.TWinControl.$bdtr$qqrv (Line 8390, "Vcl.Controls.pas")
[16.03.2015 10:55:04.775] [00409536] System.@ClassDestroy$qqrxp14System.TObject (Line 16993, "System.pas")
[16.03.2015 10:55:04.775] [0056EC80] Vcl.Controls.TCustomControl.$bdtr$qqrv (Line 13819, "Vcl.Controls.pas")
[16.03.2015 10:55:04.775] [005EE568] Vcl.ExtCtrls.Extctrls.TCustomGridPanel.$bdtr$qqrv (Line 3818, "Vcl.ExtCtrls.pas")
[16.03.2015 10:55:04.775] [0056745C] Vcl.Controls.TWinControl.Remove$qqrp21Vcl.Controls.TControl (Line 9044, "Vcl.Controls.pas")
[16.03.2015 10:55:04.775] [005661BC] Vcl.Controls.TWinControl.$bdtr$qqrv (Line 8390, "Vcl.Controls.pas")
[16.03.2015 10:55:04.775] [00409536] System.@ClassDestroy$qqrxp14System.TObject (Line 16993, "System.pas")
[16.03.2015 10:55:04.775] [00669DBF] Vcl.Forms.TScrollingWinControl.$bdtr$qqrv (Line 3060, "Vcl.Forms.pas")
[16.03.2015 10:55:04.775] [0066B03C] Vcl.Forms.TCustomForm.$bdtr$qqrv (Line 3732, "Vcl.Forms.pas")
[16.03.2015 10:55:04.775] [01070E44] MainFormUnit.TMainForm.$bdtr$qqrv (Line 1395, "MainFormUnit.pas")
[16.03.2015 10:55:04.775] [00408E18] System.TObject.Free$qqrv (Line 15718, "System.pas")
[16.03.2015 10:55:04.775] [010B36C2] disposeGUI$qqrv (Line 99, "myCompany.GUI.StdGUI.pas")
I'm not sure if I'm upsetting the apple cart. I'm not even sure what is going on at all. Do you guys have any idea?

I have a TChart that sits on a TFrame. The frame has a TGestureManager on it which is used by the OnGesture event of the chart.

Re: EGestureException when destroying Frame

Posted: Tue Mar 17, 2015 2:33 pm
by yeray
Hello,

I'm trying to reproduce the problem with the following simple application but it seems to work fine for me here.
We'll be glad to take a look at the problem if we can get a simple application we can use to reproduce the problem consistently.

Re: EGestureException when destroying Frame

Posted: Tue Mar 17, 2015 3:40 pm
by 16570767
Thank you for your time. I haven't been able to properly reproduce it myself, I just thought you might have a rough idea. Since it suddenly appeared out of nowhere after not touching the frame for over six months, the error is most probably on my end and a screwed up operating system.
If it's gets more serious I'll let you know.