【Delphi】VCL 使用TCoolBar控件,在系统触发UAC界面时,引发CMS
在几个月前发现该问题,程序设置MainForm不可见,启动后使用ShellExecuteEx以管理员权限启动另外一个EXE。 在弹出系统UAC界面后,弹出System Error 1400错误,RAD10.2上未弹出错误,但在接下来的几秒钟程序占用CPU非常高,? XE7编译的程序一旦出现错误,会导致delphi IDE窗口都被隐藏了,需要结束进程重新打开,调试状态下IDE弹出如下错误,和编译好的EXE弹出错误一致。 ? 原因是由于IDE的MainForm设计窗口也打开了带有Tcoolbar控件的窗口,只要将该窗口关闭,则IDE不会报错,但包含该MainForm的EXE仍会出错,且会导致IDE被隐藏。 从客观上讲,报错流程如下, 1)运行XE7编译出来的程序(包含CoolBar控件,以及其他ToolBar,menu,button等)-> 2)系统弹出UAC窗口(手动右键以管理员权限运行任意一个EXE都可以) 3)XE7和RAD10.2的IDE被隐藏(手动操作无法恢复窗口) 4)程序出现System Error 1400错误 5)打开包含相同控件窗口的XE7 IDE也会弹出System Error 1400错误 综上可以猜测,在错误发生过程中,系统弹出UAC时,会广播一些消息,而XE7程序和IDE(VCL内部控件)在处理消息过程中出现异常,并导致将程序所在窗口关闭。 通过错误日志可以看出在这过程中系统触发CMSysFontChanged消息事件,最终导致出错,而System Error 1400错误一般是在非UI线程操作UI控件导致的, MSDN对WM_FONTCHANGE的说明也是指出该消息为顶层窗口广播消息。 ? 经过测试,将coolbar替换成controlbar可以解决。 ? 附上IDE错误窗口和信息: [5009EC9A]{rtl210.bpl } System.SysUtils.RaiseLastOSError (Line 24533,"System.SysUtils.pas" + 6) + $2 [5009EC0F]{rtl210.bpl } System.SysUtils.RaiseLastOSError (Line 24516,"System.SysUtils.pas" + 0) + $7 [505C6277]{vcl210.bpl } Vcl.Controls.TWinControl.CreateWnd (Line 9391,"Vcl.Controls.pas" + 47) + $0 [50640BB2]{vcl210.bpl } Vcl.ComCtrls.TToolBar.CreateWnd (Line 22126,"Vcl.ComCtrls.pas" + 1) + $2 [505C6766]{vcl210.bpl } Vcl.Controls.TWinControl.CreateHandle (Line 9538,"Vcl.Controls.pas" + 3) + $4 [505C6A2C]{vcl210.bpl } Vcl.Controls.TWinControl.UpdateShowing (Line 9661,"Vcl.Controls.pas" + 7) + $11 [505C6BD4]{vcl210.bpl } Vcl.Controls.TWinControl.UpdateControlState (Line 9708,"Vcl.Controls.pas" + 21) + $3 [505C696B]{vcl210.bpl } Vcl.Controls.TWinControl.CMRecreateWnd (Line 9642,"Vcl.Controls.pas" + 5) + $3 [505C2C15]{vcl210.bpl } Vcl.Controls.TControl.WndProc (Line 7232,"Vcl.Controls.pas" + 91) + $6 [5005FDF3]{rtl210.bpl } System.TMonitor.Exit (Line 17415,"System.pas" + 2) + $7 [50152E6E]{rtl210.bpl } System.Classes.TInterfaceList.GetCount (Line 4843,"System.Classes.pas" + 5) + $9 [50066A9C]{rtl210.bpl } [email?protected] (Line 36046,"System.pas" + 10) + $0 [520F0042]{vcldesigner210.bpl} VCLSurface.TVclDesignSurface.IsDesignMsg (Line 3586,"VCLSurface.pas" + 186) + $28 [5005F3E6]{rtl210.bpl } [email?protected] (Line 16131,"System.pas" + 1) + $8 [5005F5E3]{rtl210.bpl } System.TObject.Dispatch (Line 16511,"System.pas" + 11) + $0 [505C2C15]{vcl210.bpl } Vcl.Controls.TControl.WndProc (Line 7232,"Vcl.Controls.pas" + 91) + $6 [505C76E2]{vcl210.bpl } Vcl.Controls.TWinControl.WndProc (Line 10038,"Vcl.Controls.pas" + 153) + $6 [50060094]{rtl210.bpl } System.TMonitor.TryEnter (Line 17596,"System.pas" + 10) + $0 [5005FC14]{rtl210.bpl } System.TMonitor.Enter (Line 17289,"System.pas" + 4) + $2 [5005FA98]{rtl210.bpl } System.TMonitor.CheckOwningThread (Line 17207,"System.pas" + 2) + $0 [5005FDA2]{rtl210.bpl } System.TMonitor.Exit (Line 17393,"System.pas" + 1) + $2 [50644444]{vcl210.bpl } Vcl.ComCtrls.TToolBar.WndProc (Line 24345,"Vcl.ComCtrls.pas" + 104) + $6 [50066A9C]{rtl210.bpl } [email?protected] (Line 36046,"System.pas" + 10) + $0 [505C2850]{vcl210.bpl } Vcl.Controls.TControl.Perform (Line 7010,"Vcl.Controls.pas" + 10) + $8 [505C6926]{vcl210.bpl } Vcl.Controls.TWinControl.RecreateWnd (Line 9631,"Vcl.Controls.pas" + 0) + $12 [506435F0]{vcl210.bpl } Vcl.ComCtrls.TToolBar.CMSysFontChanged (Line 23848,"Vcl.ComCtrls.pas" + 2) + $2 [505C2C15]{vcl210.bpl } Vcl.Controls.TControl.WndProc (Line 7232,"System.pas" + 4) + $2 [5070CE98]{vcl210.bpl } Vcl.Forms.TCustomForm.WndProc (Line 4427,"Vcl.Forms.pas" + 206) + $5 [5005FA98]{rtl210.bpl } System.TMonitor.CheckOwningThread (Line 17207,"Vcl.ComCtrls.pas" + 104) + $6 [50066A9C]{rtl210.bpl } [email?protected] (Line 36046,"System.pas" + 10) + $0 [505C5ED5]{vcl210.bpl } Vcl.Controls.TWinControl.Broadcast (Line 9159,"Vcl.Controls.pas" + 3) + $11 [505C9B37]{vcl210.bpl } Vcl.Controls.TWinControl.CMSysFontChanged (Line 11652,"Vcl.Controls.pas" + 2) + $4 [50648721]{vcl210.bpl } Vcl.ComCtrls.TCoolBar.CMSysFontChanged (Line 27037,"Vcl.ComCtrls.pas" + 1) + $2 [505C2C15]{vcl210.bpl } Vcl.Controls.TControl.WndProc (Line 7232,"Vcl.Controls.pas" + 91) + $6 [520F0042]{vcldesigner210.bpl} VCLSurface.TVclDesignSurface.IsDesignMsg (Line 3586,"VCLSurface.pas" + 186) + $28 [5005F3E6]{rtl210.bpl } [email?protected] (Line 16131,"Vcl.Controls.pas" + 91) + $6 [50060094]{rtl210.bpl } System.TMonitor.TryEnter (Line 17596,"System.pas" + 4) + $2 [505C76E2]{vcl210.bpl } Vcl.Controls.TWinControl.WndProc (Line 10038,"Vcl.Controls.pas" + 153) + $6 [5005FDF3]{rtl210.bpl } System.TMonitor.Exit (Line 17415,"System.Classes.pas" + 5) + $9 [50066A9C]{rtl210.bpl } [email?protected] (Line 36046,"VCLSurface.pas" + 186) + $28 [506485C0]{vcl210.bpl } Vcl.ComCtrls.TCoolBar.WndProc (Line 26963,"Vcl.ComCtrls.pas" + 27) + $5 [505C5ED5]{vcl210.bpl } Vcl.Controls.TWinControl.Broadcast (Line 9159,"Vcl.Controls.pas" + 2) + $4 [505C2C15]{vcl210.bpl } Vcl.Controls.TControl.WndProc (Line 7232,"Vcl.Controls.pas" + 91) + $6 [505C5EB5]{vcl210.bpl } Vcl.Controls.TWinControl.Broadcast (Line 9157,"Vcl.Controls.pas" + 1) + $3 [505C9B37]{vcl210.bpl } Vcl.Controls.TWinControl.CMSysFontChanged (Line 11652,"Vcl.Controls.pas" + 91) + $6 [5005F5E3]{rtl210.bpl } System.TObject.Dispatch (Line 16511,"System.pas" + 1) + $2 [505C76E2]{vcl210.bpl } Vcl.Controls.TWinControl.WndProc (Line 10038,"Vcl.Controls.pas" + 153) + $6 [50066A9C]{rtl210.bpl } [email?protected] (Line 36046,"VCLSurface.pas" + 186) + $28 [505C5E7E]{vcl210.bpl } Vcl.Controls.TWinControl.GetControl (Line 9130,"Vcl.Controls.pas" + 4) + $A [505C5ED5]{vcl210.bpl } Vcl.Controls.TWinControl.Broadcast (Line 9159,"Vcl.Controls.pas" + 91) + $6 [50172B18]{rtl210.bpl } System.Classes.TObservers.IsObserving (Line 18590,"System.Classes.pas" + 11) + $20 [505C5E6D]{vcl210.bpl } Vcl.Controls.TWinControl.GetControl (Line 9129,"Vcl.Controls.pas" + 3) + $4 [505C5ED5]{vcl210.bpl } Vcl.Controls.TWinControl.Broadcast (Line 9159,"Vcl.Controls.pas" + 91) + $6 [505C5ED5]{vcl210.bpl } Vcl.Controls.TWinControl.Broadcast (Line 9159,"Vcl.Controls.pas" + 2) + $4 [5005F5E3]{rtl210.bpl } System.TObject.Dispatch (Line 16511,"Vcl.Controls.pas" + 153) + $6 [5070CE98]{vcl210.bpl } Vcl.Forms.TCustomForm.WndProc (Line 4427,"Vcl.Forms.pas" + 206) + $5 [505C76E2]{vcl210.bpl } Vcl.Controls.TWinControl.WndProc (Line 10038,"Vcl.Controls.pas" + 153) + $6 [50172B18]{rtl210.bpl } System.Classes.TObservers.IsObserving (Line 18590,"System.Classes.pas" + 11) + $20 [520F870F]{vcldesigner210.bpl} VCLFormContainer.TControlSizer.ControlWndProc (Line 313,"VCLFormContainer.pas" + 33) + $C [500636D0]{rtl210.bpl } [email?protected] (Line 31435,"System.pas" + 139) + $0 [505C5E7E]{vcl210.bpl } Vcl.Controls.TWinControl.GetControl (Line 9130,"Vcl.Controls.pas" + 91) + $6 [505C9B37]{vcl210.bpl } Vcl.Controls.TWinControl.CMSysFontChanged (Line 11652,"Vcl.Controls.pas" + 91) + $6 [500635C0]{rtl210.bpl } [email?protected] (Line 31136,"System.pas" + 25) + $0 [5005FB08]{rtl210.bpl } System.TMonitor.Destroy (Line 17229,"System.pas" + 0) + $0 [5005F18B]{rtl210.bpl } System.TObject.CleanupInstance (Line 15862,"System.pas" + 24) + $0 [50059C58]{rtl210.bpl } [email?protected] (Line 4439,"System.pas" + 20) + $0 [5005F000]{rtl210.bpl } System.TObject.FreeInstance (Line 15650,"System.pas" + 2) + $2 [5005F85A]{rtl210.bpl } [email?protected] (Line 16993,"System.pas" + 0) + $2 [50151D10]{rtl210.bpl } System.Classes.TList.Destroy (Line 4206,"System.Classes.pas" + 2) + $6 [5005F108]{rtl210.bpl } System.TObject.Free (Line 15718,"System.pas" + 1) + $4 [505C588F]{vcl210.bpl } Vcl.Controls.TWinControl.AlignControls (Line 8897,"Vcl.Controls.pas" + 50) + $8 [218B8EE1]{vclactnband210.bpl} Vcl.ActnMan.TCustomActionBar.AlignControls (Line 4410,"Vcl.ActnMan.pas" + 5) + $0 [505C5932]{vcl210.bpl } Vcl.Controls.TWinControl.AlignControl (Line 8922,"Vcl.Controls.pas" + 9) + $A [505C5E6D]{vcl210.bpl } Vcl.Controls.TWinControl.GetControl (Line 9129,"Vcl.Controls.pas" + 2) + $4 [505C76E2]{vcl210.bpl } Vcl.Controls.TWinControl.WndProc (Line 10038,"Vcl.Controls.pas" + 153) + $6 [505C2C15]{vcl210.bpl } Vcl.Controls.TControl.WndProc (Line 7232,"Vcl.Controls.pas" + 153) + $6 [520F9CBA]{vcldesigner210.bpl} VCLFormContainer.TFormContainerForm.WndProc (Line 801,"VCLFormContainer.pas" + 19) + $4 [505C5ED5]{vcl210.bpl } Vcl.Controls.TWinControl.Broadcast (Line 9159,"Vcl.Controls.pas" + 153) + $6 [50644444]{vcl210.bpl } Vcl.ComCtrls.TToolBar.WndProc (Line 24345,"Vcl.ComCtrls.pas" + 104) + $6 [505C76E2]{vcl210.bpl } Vcl.Controls.TWinControl.WndProc (Line 10038,"Vcl.ComCtrls.pas" + 104) + $6 [505C5E7E]{vcl210.bpl } Vcl.Controls.TWinControl.GetControl (Line 9130,"Vcl.Controls.pas" + 3) + $11 [505C76E2]{vcl210.bpl } Vcl.Controls.TWinControl.WndProc (Line 10038,"Vcl.Controls.pas" + 91) + $6 [21192756]{designide210.bpl} EmbeddedFormDesigner.TEditorFormDesigner.WndProc (Line 317,"EmbeddedFormDesigner.pas" + 24) + $5 [505C5ED5]{vcl210.bpl } Vcl.Controls.TWinControl.Broadcast (Line 9159,"Vcl.Controls.pas" + 153) + $6 [505C5E7E]{vcl210.bpl } Vcl.Controls.TWinControl.GetControl (Line 9130,"Vcl.Controls.pas" + 3) + $11 [5070CE98]{vcl210.bpl } Vcl.Forms.TCustomForm.WndProc (Line 4427,"Vcl.Forms.pas" + 206) + $5 [505C5E7E]{vcl210.bpl } Vcl.Controls.TWinControl.GetControl (Line 9130,"Vcl.Controls.pas" + 4) + $A [505C5EB5]{vcl210.bpl } Vcl.Controls.TWinControl.Broadcast (Line 9157,"Vcl.Controls.pas" + 1) + $3 [505C76E2]{vcl210.bpl } Vcl.Controls.TWinControl.WndProc (Line 10038,"Vcl.Controls.pas" + 91) + $6 [505C5E7E]{vcl210.bpl } Vcl.Controls.TWinControl.GetControl (Line 9130,"Vcl.Controls.pas" + 91) + $6 [50686F6A]{vcl210.bpl } Vcl.ExtCtrls.TCustomButtonedEdit.DefaultHandler (Line 8703,"Vcl.ExtCtrls.pas" + 1) + $4 [505C76E2]{vcl210.bpl } Vcl.Controls.TWinControl.WndProc (Line 10038,"Vcl.Controls.pas" + 153) + $6 [505C9B37]{vcl210.bpl } Vcl.Controls.TWinControl.CMSysFontChanged (Line 11652,"Vcl.Controls.pas" + 1) + $3 [505C5E7E]{vcl210.bpl } Vcl.Controls.TWinControl.GetControl (Line 9130,"System.pas" + 2) + $7 [505A4B1F]{vcl210.bpl } Vcl.Graphics.FreeMemoryContexts (Line 7051,"Vcl.Graphics.pas" + 12) + $8 [5005F5E3]{rtl210.bpl } System.TObject.Dispatch (Line 16511,"Vcl.Controls.pas" + 153) + $6 [5017B134]{rtl210.bpl } System.Classes.{System.Generics.Collections}TDictionary<System.Integer,System.Classes.IInterfaceList>.TryGetValue (Line 1974,"System.Generics.Collections.pas" + 6) + $2 [50172A9D]{rtl210.bpl } System.Classes.TObservers.IsObserving (Line 18580,"System.Classes.pas" + 1) + $F [50172B18]{rtl210.bpl } System.Classes.TObservers.IsObserving (Line 18590,"System.Classes.pas" + 11) + $20 [505C76E2]{vcl210.bpl } Vcl.Controls.TWinControl.WndProc (Line 10038,"Vcl.Controls.pas" + 153) + $6 [505E7825]{vcl210.bpl } Vcl.StdCtrls.TCustomComboBox.WndProc (Line 5000,"Vcl.StdCtrls.pas" + 28) + $1B [505C76E2]{vcl210.bpl } Vcl.Controls.TWinControl.WndProc (Line 10038,"Vcl.Controls.pas" + 153) + $6 [505D0437]{vcl210.bpl } Vcl.Controls.TDockTree.WndProc (Line 15585,"Vcl.Controls.pas" + 74) + $5 [505C5E7E]{vcl210.bpl } Vcl.Controls.TWinControl.GetControl (Line 9130,"Vcl.Controls.pas" + 153) + $6 [5059DE4B]{vcl210.bpl } Vcl.Graphics.TResourceManager.AssignResource (Line 1962,"Vcl.Graphics.pas" + 17) + $D [213960CC]{vclide210.bpl} IDEVirtualTrees.TBaseVirtualTree.WndProc (Line 23582,"IDEVirtualTrees.pas" + 32) + $4 [5070CE98]{vcl210.bpl } Vcl.Forms.TCustomForm.WndProc (Line 4427,"Vcl.Controls.pas" + 153) + $6 [505C5ED5]{vcl210.bpl } Vcl.Controls.TWinControl.Broadcast (Line 9159,"Vcl.Controls.pas" + 3) + $11 [505C5E7E]{vcl210.bpl } Vcl.Controls.TWinControl.GetControl (Line 9130,"Vcl.Controls.pas" + 153) + $6 [505942F9]{vcl210.bpl } Winapi.Messages.SendTextMessage (Line 2147,"Winapi.Messages.pas" + 2) + $10 [505C76E2]{vcl210.bpl } Vcl.Controls.TWinControl.WndProc (Line 10038,"Vcl.Controls.pas" + 153) + $6 [50686834]{vcl210.bpl } Vcl.ExtCtrls.TEditButton.TGlyph.WndProc (Line 8416,"Vcl.ExtCtrls.pas" + 4) + $4 [505C76E2]{vcl210.bpl } Vcl.Controls.TWinControl.WndProc (Line 10038,"Vcl.ComCtrls.pas" + 104) + $6 [506872AC]{vcl210.bpl } Vcl.ExtCtrls.TCustomButtonedEdit.WndProc (Line 8830,"Vcl.ExtCtrls.pas" + 30) + $4 [505C76E2]{vcl210.bpl } Vcl.Controls.TWinControl.WndProc (Line 10038,"Vcl.Controls.pas" + 91) + $6 [505C5932]{vcl210.bpl } Vcl.Controls.TWinControl.AlignControl (Line 8922,"Vcl.Controls.pas" + 9) + $A [505C594F]{vcl210.bpl } Vcl.Controls.TWinControl.AlignControl (Line 8925,"Vcl.Controls.pas" + 12) + $3 [505C76E2]{vcl210.bpl } Vcl.Controls.TWinControl.WndProc (Line 10038,"Vcl.Controls.pas" + 74) + $5 [505C76E2]{vcl210.bpl } Vcl.Controls.TWinControl.WndProc (Line 10038,"Vcl.Controls.pas" + 2) + $4 [207BBE14]{coreide210.bpl} EditorForm.TEditWindow.CMSysFontChanged (Line 3801,"EditorForm.pas" + 0) + $8 [505C2C15]{vcl210.bpl } Vcl.Controls.TControl.WndProc (Line 7232,"Vcl.Controls.pas" + 91) + $6 [505C6926]{vcl210.bpl } Vcl.Controls.TWinControl.RecreateWnd (Line 9631,"Vcl.Controls.pas" + 74) + $5 [507951A3]{vcl210.bpl } Vcl.CaptionedDockTree.TCaptionedDockTree.WndProc (Line 252,"Vcl.CaptionedDockTree.pas" + 23) + $2 [505CFCEF]{vcl210.bpl } Vcl.Controls.TDockTree.WindowProc (Line 15329,"Vcl.Controls.pas" + 1) + $4 [505C5ED5]{vcl210.bpl } Vcl.Controls.TWinControl.Broadcast (Line 9159,"Vcl.Controls.pas" + 2) + $4 [00424121]{bds.exe } Sanctuary.Util..{System.Generics.Collections}TList<Sanctuary.Util.TPair<System.string,System.string>> + $A51 [505C2C15]{vcl210.bpl } Vcl.Controls.TControl.WndProc (Line 7232,"Vcl.Controls.pas" + 91) + $6 [500677D3]{rtl210.bpl } System.LocaleCharsFromUnicode (Line 38465,"System.pas" + 1) + $17 [50066DF9]{rtl210.bpl } System.UnicodeToUtf8 (Line 37174,"System.pas" + 19) + $16 [500671D0]{rtl210.bpl } System.UTF8EncodeToShortString (Line 37308,"System.pas" + 1) + $1D [50059C58]{rtl210.bpl } [email?protected] (Line 4439,"System.pas" + 20) + $0 [5006132C]{rtl210.bpl } [email?protected] (Line 24117,"System.pas" + 14) + $0 [5059E493]{vcl210.bpl } Vcl.Graphics.GetFontData (Line 2406,"Vcl.Graphics.pas" + 44) + $13 [505C76E2]{vcl210.bpl } Vcl.Controls.TWinControl.WndProc (Line 10038,"Vcl.Forms.pas" + 206) + $5 [5016C077]{rtl210.bpl } System.Classes.TComponent.RemoveFreeNotification (Line 15437,"System.Classes.pas" + 2) + $4 [505C2850]{vcl210.bpl } Vcl.Controls.TControl.Perform (Line 7010,"Vcl.Controls.pas" + 10) + $8 [50717212]{vcl210.bpl } Vcl.Forms.TApplication.NotifyForms (Line 10981,"Vcl.Forms.pas" + 2) + $16 [50713573]{vcl210.bpl } Vcl.Forms.TScreen.IconFontChanged (Line 8439,"Vcl.Forms.pas" + 1) + $D [5059E013]{vcl210.bpl } Vcl.Graphics.TGraphicsObject.Changed (Line 2278,"Vcl.Graphics.pas" + 1) + $E [5059E541]{vcl210.bpl } Vcl.Graphics.TFont.Changed (Line 2431,"Vcl.Graphics.pas" + 1) + $2 [5059DD8C]{vcl210.bpl } Vcl.Graphics.TResourceManager.ChangeResource (Line 1897,"Vcl.Graphics.pas" + 11) + $4 [5059E66E]{vcl210.bpl } Vcl.Graphics.TFont.SetData (Line 2498,"Vcl.Graphics.pas" + 3) + $A [5059E921]{vcl210.bpl } Vcl.Graphics.TFont.SetHandle (Line 2615,"Vcl.Graphics.pas" + 5) + $D [507137A4]{vcl210.bpl } Vcl.Forms.TScreen.GetMetricSettings (Line 8582,"Vcl.Forms.pas" + 11) + $11 [50064740]{rtl210.bpl } System.DynArraySetLength (Line 33858,"System.pas" + 9) + $6 [50059C79]{rtl210.bpl } [email?protected] (Line 4513,"System.pas" + 21) + $0 [500628D0]{rtl210.bpl } [email?protected] (Line 29156,"System.pas" + 27) + $0 [5009AAFF]{rtl210.bpl } System.SysUtils.FixDateSeparator (Line 21069,"System.SysUtils.pas" + 2) + $2 [50059C58]{rtl210.bpl } [email?protected] (Line 4439,"System.pas" + 20) + $0 [5006132C]{rtl210.bpl } [email?protected] (Line 24117,"System.pas" + 14) + $0 [50099F53]{rtl210.bpl } System.SysUtils.GetLocaleChar (Line 19950,"System.SysUtils.pas" + 1) + $9 [50059C58]{rtl210.bpl } [email?protected] (Line 4439,"System.pas" + 20) + $0 [50061391]{rtl210.bpl } [email?protected] (Line 24268,"System.pas" + 16) + $0 [5009A24B]{rtl210.bpl } System.SysUtils.TFormatSettings.Create (Line 20120,"System.SysUtils.pas" + 37) + $15 [50059C58]{rtl210.bpl } [email?protected] (Line 4439,"System.pas" + 20) + $0 [5006172F]{rtl210.bpl } [email?protected] (Line 24905,"System.pas" + 42) + $0 [50063681]{rtl210.bpl } [email?protected] (Line 31380,"System.pas" + 84) + $0 [500636AA]{rtl210.bpl } [email?protected] (Line 31402,"System.pas" + 106) + $0 [50063678]{rtl210.bpl } [email?protected] (Line 31376,"System.pas" + 80) + $0 [500635C0]{rtl210.bpl } [email?protected] (Line 31136,"System.pas" + 25) + $0 [5009D476]{rtl210.bpl } System.SysUtils.GetFormatSettings (Line 23427,"System.SysUtils.pas" + 4) + $19 [50715178]{vcl210.bpl } Vcl.Forms.TApplication.CheckIniChange (Line 9763,"Vcl.Forms.pas" + 11) + $5 [5071533A]{vcl210.bpl } Vcl.Forms.TApplication.WndProc (Line 9828,"Vcl.Forms.pas" + 5) + $6 [210F232E]{designide210.bpl} DeskUtil.SetFocusHook (Line 463,"DeskUtil.pas" + 4) + $C [5016E218]{rtl210.bpl } System.Classes.StdWndProc (Line 16600,"System.Classes.pas" + 8) + $0 [218C456B]{vclactnband210.bpl} Vcl.ActnMenus.CallWindowHook (Line 748,"Vcl.ActnMenus.pas" + 20) + $F [5071627C]{vcl210.bpl } Vcl.Forms.TApplication.ProcessMessage (Line 10331,"Vcl.Forms.pas" + 2) + $9 [50716386]{vcl210.bpl } Vcl.Forms.TApplication.ProcessMessages (Line 10374,"Vcl.Forms.pas" + 1) + $4 [2137C85B]{vclide210.bpl} IDEVirtualTrees.TVirtualTreeHintWindow.AnimationCallback (Line 6530,"IDEVirtualTrees.pas" + 10) + $7 [2138CA8C]{vclide210.bpl} IDEVirtualTrees.TBaseVirtualTree.Animate (Line 17400,"IDEVirtualTrees.pas" + 18) + $D [2137D3E3]{vclide210.bpl} IDEVirtualTrees.TVirtualTreeHintWindow.ActivateHint (Line 6877,"IDEVirtualTrees.pas" + 56) + $1C [505CD163]{vcl210.bpl } Vcl.Controls.THintWindow.ActivateHintData (Line 13649,"Vcl.Controls.pas" + 1) + $5 [50717CBC]{vcl210.bpl } Vcl.Forms.TApplication.ActivateHint (Line 11416,"Vcl.Forms.pas" + 69) + $14 [50717639]{vcl210.bpl } Vcl.Forms.TApplication.HintTimerExpired (Line 11150,"Vcl.Forms.pas" + 8) + $4 [50713F86]{vcl210.bpl } Vcl.Forms.HintTimerProc (Line 8841,"Vcl.Forms.pas" + 3) + $5 [5077728B]{vcl210.bpl } Vcl.AppEvnts.TMultiCaster.GetAppEvents (Line 654,"Vcl.AppEvnts.pas" + 1) + $3 [5071635B]{vcl210.bpl } Vcl.Forms.TApplication.ProcessMessage (Line 10352,"Vcl.Forms.pas" + 23) + $1 [5071639E]{vcl210.bpl } Vcl.Forms.TApplication.HandleMessage (Line 10382,"Vcl.Forms.pas" + 1) + $4 [507166D1]{vcl210.bpl } Vcl.Forms.TApplication.Run (Line 10520,"Vcl.Forms.pas" + 26) + $3 (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |