UweRaabe / DelphiCodeCoveragePlugin

Delphi Code Coverage Plugin
MIT License
18 stars 5 forks source link

Abstract error on registering the package #1

Closed luebbe closed 2 years ago

luebbe commented 2 years ago

Delphi 10.4 Update 2 Installed products:

grafik

UweRaabe commented 2 years ago

Oops! Seems I missed one commit. Should be fixed now.

luebbe commented 2 years ago

OK, one step further. Now I get an AV when the plugin is installed. After the AV the "is installed" message appears and the plugin is listed when the IDE starts.

But the plugin toolbar is "empty". There are two black on black buttons (or white on white when I switch the design) which seemingly have no effect:

grafik

[7736F583]{ntdll.dll   } Unbekannte Funktion bei RtlDllShutdownInProgress + $A3
[50F4EBD3]{vcl270.bpl  } Vcl.Styles.TCustomStyle.SourceLoaded (Line 3310, "Vcl.Styles.pas" + 1) + $13
[50CFCBF4]{vcl270.bpl  } Vcl.Controls.TWinControl.WMPaint (Line 10711, "Vcl.Controls.pas" + 6) + $5
[50F394FF]{vcl270.bpl  } Vcl.Styles.DrawControlBackground (Line 7121, "StyleAPI.inc" + 69) + $C
[50CD0C82]{vcl270.bpl  } Vcl.Graphics.TCustomCanvas.Lock (Line 3700, "Vcl.Graphics.pas" + 7) + $4
[50CD7259]{vcl270.bpl  } Vcl.Graphics.TBitmapCanvas.CreateHandle (Line 7413, "Vcl.Graphics.pas" + 3) + $3
[50CD1DE1]{vcl270.bpl  } Vcl.Graphics.TCanvas.RequiredState (Line 4278, "Vcl.Graphics.pas" + 6) + $4
[50CD1CF9]{vcl270.bpl  } Vcl.Graphics.TCanvas.GetHandle (Line 4230, "Vcl.Graphics.pas" + 2) + $B
[0AD88009]{themeloader270.bpl} Idetheme.Vclstylehooks.TToolBarIDEStyleHook.Paint + $E9
[50CFA393]{vcl270.bpl  } Vcl.Controls.TWinControl.DoHandleStyleMessage (Line 9344, "Vcl.Controls.pas" + 0) + $F
[50CFBA9A]{vcl270.bpl  } Vcl.Controls.TWinControl.WndProc (Line 10256, "Vcl.Controls.pas" + 1) + $53
[50CD802A]{vcl270.bpl  } Vcl.Graphics.CopyBitmap (Line 8001, "Vcl.Graphics.pas" + 184) + $A
[5006063C]{rtl270.bpl  } System.TMonitor.Destroy (Line 19528, "System.pas" + 0) + $0
[5005FD59]{rtl270.bpl  } System.TObject.CleanupInstance (Line 18181, "System.pas" + 23) + $0
[5005A25C]{rtl270.bpl  } System.@FreeMem (Line 4891, "System.pas" + 20) + $0
[5005FB7C]{rtl270.bpl  } System.TObject.FreeInstance (Line 17870, "System.pas" + 2) + $2
[50060382]{rtl270.bpl  } System.@ClassDestroy (Line 19294, "System.pas" + 0) + $2
[5005FC74]{rtl270.bpl  } System.TObject.Free (Line 17933, "System.pas" + 1) + $4
[50CD7370]{vcl270.bpl  } Vcl.Graphics.TSharedImage.Release (Line 7480, "Vcl.Graphics.pas" + 7) + $2
[50CD96A6]{vcl270.bpl  } Vcl.Graphics.TBitmap.NewImage (Line 9164, "Vcl.Graphics.pas" + 36) + $5
[50CD350B]{vcl270.bpl  } Vcl.Graphics.TGraphic.Changed (Line 5427, "Vcl.Graphics.pas" + 2) + $4
[50CD157F]{vcl270.bpl  } Vcl.Graphics.TCanvas.FillRect (Line 3966, "Vcl.Graphics.pas" + 4) + $4
[50DF811A]{vcl270.bpl  } Vcl.Themes.TStyleHook.PaintBackground (Line 7196, "Vcl.Themes.pas" + 2) + $10
[50DF822C]{vcl270.bpl  } Vcl.Themes.TStyleHook.WMPaint (Line 7226, "Vcl.Themes.pas" + 18) + $12
[50DF86AA]{vcl270.bpl  } Vcl.Themes.TStyleHook.WndProc (Line 7397, "Vcl.Themes.pas" + 38) + $6
[50DF88A0]{vcl270.bpl  } Vcl.Themes.TMouseTrackControlStyleHook.WndProc (Line 7505, "Vcl.Themes.pas" + 0) + $0
[50D8EB16]{vcl270.bpl  } Vcl.ComCtrls.TToolBarStyleHook.WndProc (Line 33588, "Vcl.ComCtrls.pas" + 6) + $4
[50DF7EC6]{vcl270.bpl  } Vcl.Themes.TStyleHook.HandleMessage (Line 7110, "Vcl.Themes.pas" + 20) + $6
[50F4F3BE]{vcl270.bpl  } Vcl.Styles.TStyleEngine.HandleMessage (Line 3598, "Vcl.Styles.pas" + 22) + $B
[50DF4E24]{vcl270.bpl  } Vcl.Themes.TStyleManager.HandleMessage (Line 5665, "Vcl.Themes.pas" + 11) + $11
[50CFA393]{vcl270.bpl  } Vcl.Controls.TWinControl.DoHandleStyleMessage (Line 9344, "Vcl.Controls.pas" + 0) + $F
[50CFBA9A]{vcl270.bpl  } Vcl.Controls.TWinControl.WndProc (Line 10256, "Vcl.Controls.pas" + 1) + $53
[50D7EFFE]{vcl270.bpl  } Vcl.ComCtrls.TToolBar.WndProc (Line 24912, "Vcl.ComCtrls.pas" + 104) + $6
[50CFB614]{vcl270.bpl  } Vcl.Controls.TWinControl.MainWndProc (Line 10113, "Vcl.Controls.pas" + 3) + $6
[501826A4]{rtl270.bpl  } System.Classes.StdWndProc (Line 18175, "System.Classes.pas" + 8) + $0
[1DD9D18C]{TMSVCLUIPackPkgDXE13.bpl} Advgrid. + $0
[50CFF425]{vcl270.bpl  } Vcl.Controls.TWinControl.Update (Line 12478, "Vcl.Controls.pas" + 1) + $12
[50CFF43D]{vcl270.bpl  } Vcl.Controls.TWinControl.Repaint (Line 12484, "Vcl.Controls.pas" + 2) + $4
[50D80DBE]{vcl270.bpl  } Vcl.ComCtrls.TToolBar.Resize (Line 25932, "Vcl.ComCtrls.pas" + 3) + $4
[50CFD366]{vcl270.bpl  } Vcl.Controls.TWinControl.WMSize (Line 10932, "Vcl.Controls.pas" + 20) + $6
[50D7D508]{vcl270.bpl  } Vcl.ComCtrls.TToolBar.WMSize (Line 23941, "Vcl.ComCtrls.pas" + 1) + $2
[50060197]{rtl270.bpl  } System.TObject.Dispatch (Line 18835, "System.pas" + 11) + $0
[50CF7172]{vcl270.bpl  } Vcl.Controls.TControl.WndProc (Line 7480, "Vcl.Controls.pas" + 91) + $6
[500646D9]{rtl270.bpl  } System.@FinalizeArray (Line 33228, "System.pas" + 24) + $6
[50064570]{rtl270.bpl  } System.@FinalizeRecord (Line 33044, "System.pas" + 56) + $1E
[50DF4D77]{vcl270.bpl  } Vcl.Themes.TStyleManager.GetStyle (Line 5636, "Vcl.Themes.pas" + 18) + $1E
[50CF8C36]{vcl270.bpl  } Vcl.Controls.TControl.GetStyleName (Line 8510, "Vcl.Controls.pas" + 1) + $8
[50060197]{rtl270.bpl  } System.TObject.Dispatch (Line 18835, "System.pas" + 11) + $0
[50DF86AA]{vcl270.bpl  } Vcl.Themes.TStyleHook.WndProc (Line 7397, "Vcl.Themes.pas" + 38) + $6
[50DF88A0]{vcl270.bpl  } Vcl.Themes.TMouseTrackControlStyleHook.WndProc (Line 7505, "Vcl.Themes.pas" + 0) + $0
[50D8EB16]{vcl270.bpl  } Vcl.ComCtrls.TToolBarStyleHook.WndProc (Line 33588, "Vcl.ComCtrls.pas" + 6) + $4
[50DF7EC6]{vcl270.bpl  } Vcl.Themes.TStyleHook.HandleMessage (Line 7110, "Vcl.Themes.pas" + 20) + $6
[50F4F3BE]{vcl270.bpl  } Vcl.Styles.TStyleEngine.HandleMessage (Line 3598, "Vcl.Styles.pas" + 22) + $B
[50DF4E24]{vcl270.bpl  } Vcl.Themes.TStyleManager.HandleMessage (Line 5665, "Vcl.Themes.pas" + 11) + $11
[50CFA393]{vcl270.bpl  } Vcl.Controls.TWinControl.DoHandleStyleMessage (Line 9344, "Vcl.Controls.pas" + 0) + $F
[50CFC0C7]{vcl270.bpl  } Vcl.Controls.TWinControl.WndProc (Line 10424, "Vcl.Controls.pas" + 169) + $6
[50D7EFFE]{vcl270.bpl  } Vcl.ComCtrls.TToolBar.WndProc (Line 24912, "Vcl.ComCtrls.pas" + 104) + $6
[50CFB614]{vcl270.bpl  } Vcl.Controls.TWinControl.MainWndProc (Line 10113, "Vcl.Controls.pas" + 3) + $6
[501826A4]{rtl270.bpl  } System.Classes.StdWndProc (Line 18175, "System.Classes.pas" + 8) + $0
[1DD9D18C]{TMSVCLUIPackPkgDXE13.bpl} Advgrid. + $0
[50CD0EA4]{vcl270.bpl  } Vcl.Graphics.TCanvas.Destroy (Line 3794, "Vcl.Graphics.pas" + 10) + $6
[50CFC1D2]{vcl270.bpl  } Vcl.Controls.TWinControl.DefaultHandler (Line 10465, "Vcl.Controls.pas" + 30) + $19
[50CF7C84]{vcl270.bpl  } Vcl.Controls.TControl.WMWindowPosChanged (Line 7795, "Vcl.Controls.pas" + 1) + $6
[50CFD276]{vcl270.bpl  } Vcl.Controls.TWinControl.WMWindowPosChanged (Line 10882, "Vcl.Controls.pas" + 12) + $4
[50D7D616]{vcl270.bpl  } Vcl.ComCtrls.TToolBar.WMWindowPosChanged (Line 23987, "Vcl.ComCtrls.pas" + 16) + $4
[50CF7172]{vcl270.bpl  } Vcl.Controls.TControl.WndProc (Line 7480, "Vcl.Controls.pas" + 91) + $6
[500646D9]{rtl270.bpl  } System.@FinalizeArray (Line 33228, "System.pas" + 24) + $6
[50064570]{rtl270.bpl  } System.@FinalizeRecord (Line 33044, "System.pas" + 56) + $1E
[50DF4D77]{vcl270.bpl  } Vcl.Themes.TStyleManager.GetStyle (Line 5636, "Vcl.Themes.pas" + 18) + $1E
[50CF8C36]{vcl270.bpl  } Vcl.Controls.TControl.GetStyleName (Line 8510, "Vcl.Controls.pas" + 1) + $8
[50060197]{rtl270.bpl  } System.TObject.Dispatch (Line 18835, "System.pas" + 11) + $0
[50DF86AA]{vcl270.bpl  } Vcl.Themes.TStyleHook.WndProc (Line 7397, "Vcl.Themes.pas" + 38) + $6
[50DF88A0]{vcl270.bpl  } Vcl.Themes.TMouseTrackControlStyleHook.WndProc (Line 7505, "Vcl.Themes.pas" + 0) + $0
[50D8EB16]{vcl270.bpl  } Vcl.ComCtrls.TToolBarStyleHook.WndProc (Line 33588, "Vcl.ComCtrls.pas" + 6) + $4
[50DF7EC6]{vcl270.bpl  } Vcl.Themes.TStyleHook.HandleMessage (Line 7110, "Vcl.Themes.pas" + 20) + $6
[50F4F3BE]{vcl270.bpl  } Vcl.Styles.TStyleEngine.HandleMessage (Line 3598, "Vcl.Styles.pas" + 22) + $B
[50DF4E24]{vcl270.bpl  } Vcl.Themes.TStyleManager.HandleMessage (Line 5665, "Vcl.Themes.pas" + 11) + $11
[50CFA393]{vcl270.bpl  } Vcl.Controls.TWinControl.DoHandleStyleMessage (Line 9344, "Vcl.Controls.pas" + 0) + $F
[50CFC0C7]{vcl270.bpl  } Vcl.Controls.TWinControl.WndProc (Line 10424, "Vcl.Controls.pas" + 169) + $6
[50D7EFFE]{vcl270.bpl  } Vcl.ComCtrls.TToolBar.WndProc (Line 24912, "Vcl.ComCtrls.pas" + 104) + $6
[50CFB614]{vcl270.bpl  } Vcl.Controls.TWinControl.MainWndProc (Line 10113, "Vcl.Controls.pas" + 3) + $6
[501826A4]{rtl270.bpl  } System.Classes.StdWndProc (Line 18175, "System.Classes.pas" + 8) + $0
[1DD9D18C]{TMSVCLUIPackPkgDXE13.bpl} Advgrid. + $0
[50CFEBA9]{vcl270.bpl  } Vcl.Controls.TWinControl.SetBounds (Line 12187, "Vcl.Controls.pas" + 5) + $15
[50DF88A0]{vcl270.bpl  } Vcl.Themes.TMouseTrackControlStyleHook.WndProc (Line 7505, "Vcl.Themes.pas" + 0) + $0
[50D8EB16]{vcl270.bpl  } Vcl.ComCtrls.TToolBarStyleHook.WndProc (Line 33588, "Vcl.ComCtrls.pas" + 6) + $4
[50D7C4F6]{vcl270.bpl  } Vcl.ComCtrls.TToolBar.GetButton (Line 23326, "Vcl.ComCtrls.pas" + 1) + $8
[004B8A42]{bds.exe     } AppMain.TAppBuilder.ControlBar1BandInfo (Line 5347, "AppMain.pas" + 6) + $C
[212B56D0]{vclide270.bpl} IDEDockBar.TDockToolBar.SetBounds (Line 360, "IDEDockBar.pas" + 1) + $8
[50CF5019]{vcl270.bpl  } Vcl.Controls.TControl.SetBoundsRect (Line 5972, "Vcl.Controls.pas" + 1) + $17
[50DC3699]{vcl270.bpl  } Vcl.ExtCtrls.TCustomControlBar.AlignControls (Line 7441, "Vcl.ExtCtrls.pas" + 440) + $E
[50CFA24A]{vcl270.bpl  } Vcl.Controls.TWinControl.AlignControl (Line 9292, "Vcl.Controls.pas" + 9) + $A
[50CFA6BA]{vcl270.bpl  } Vcl.Controls.TWinControl.InsertControl (Line 9451, "Vcl.Controls.pas" + 28) + $4
[50CF5758]{vcl270.bpl  } Vcl.Controls.TControl.SetParent (Line 6266, "Vcl.Controls.pas" + 9) + $4
[50D01CB9]{vcl270.bpl  } Vcl.Controls.TWinControl.SetParent (Line 13956, "Vcl.Controls.pas" + 5) + $5
[208F1D19]{coreide270.bpl} IDEServices.TIDEServices.NewToolbar (Line 4560, "IDEServices.pas" + 13) + $7
[30F54A28]{CodeCoverage270.bpl} CodeCoverage.Main.Main.TMagician.AddToolbars (Line 161, "CodeCoverage.Main.pas" + 15) + $2D
[30F546BB]{CodeCoverage270.bpl} CodeCoverage.Main.Main.TMagician.Create (Line 104, "CodeCoverage.Main.pas" + 20) + $3
[30F54C4A]{CodeCoverage270.bpl} CodeCoverage.Main.Main.TMagician.CreateInstance (Line 177, "CodeCoverage.Main.pas" + 1) + $7
[30F553DC]{CodeCoverage270.bpl} CodeCoverage.Main.Main.Register$qqrv (Line 266, "CodeCoverage.Main.pas" + 1) + $5
[21CCB913]{delphicoreide270.bpl} PasCppPakMgr.TIDEDesignPackage.Load (Line 2356, "PasCppPakMgr.pas" + 68) + $0
[500603A5]{rtl270.bpl  } System.@AfterConstruction (Line 19300, "System.pas" + 2) + $5
[21CCB483]{delphicoreide270.bpl} PasCppPakMgr.TIDEDesignPackage.DelayLoad (Line 2217, "PasCppPakMgr.pas" + 11) + $4
[21DCA680]{delphicoreide270.bpl} PakList.TPackageListItem.LoadWait (Line 939, "PakList.pas" + 3) + $4
[21DCA5E7]{delphicoreide270.bpl} PakList.TPackageListItem.LoadDesignPackage (Line 914, "PakList.pas" + 15) + $5
[21DC95F3]{delphicoreide270.bpl} PakList.TPackageListItem.SetIsInstalled (Line 582, "PakList.pas" + 7) + $3
[21DC93B9]{delphicoreide270.bpl} PakList.TPackageList.AddPackage (Line 497, "PakList.pas" + 13) + $5
[21DEAA22]{delphicoreide270.bpl} BasePasProjOpts.TProjOptsManager.InstallPackage (Line 1820, "BasePasProjOpts.pas" + 9) + $5
[21DEBCAB]{delphicoreide270.bpl} BasePasProjOpts.TProjectOptions.InstallPackage (Line 2449, "BasePasProjOpts.pas" + 0) + $3
[21DA65A4]{delphicoreide270.bpl} PasMgr.TPascalPackageCodeUpdater.InstallPackage (Line 13078, "PasMgr.pas" + 18) + $19
[21CD65F1]{delphicoreide270.bpl} PkgContainers.TStdPackageProjectContainer.CommandHandler (Line 178, "PkgContainers.pas" + 8) + $7
[204EA31B]{coreide270.bpl} ContainerIntf.TIDEProjectManagerMenuObject.Execute (Line 862, "ContainerIntf.pas" + 26) + $17
[204EBF46]{coreide270.bpl} ContainerIntf.TProjectManagerMenuItem.Click (Line 1110, "ContainerIntf.pas" + 18) + $22
[50E3FB9B]{vcl270.bpl  } Vcl.Menus.TMenu.DispatchCommand (Line 3562, "Vcl.Menus.pas" + 5) + $2
[50E40E16]{vcl270.bpl  } Vcl.Menus.TPopupList.WndProc (Line 4735, "Vcl.Menus.pas" + 4) + $E
[500605CC]{rtl270.bpl  } System.TMonitor.CheckOwningThread (Line 19506, "System.pas" + 2) + $0
[500608F2]{rtl270.bpl  } System.TMonitor.Exit (Line 19696, "System.pas" + 1) + $2
[5006094E]{rtl270.bpl  } System.TMonitor.Exit (Line 19718, "System.pas" + 2) + $7
[50CD709D]{vcl270.bpl  } Vcl.Graphics.FreeMemoryContexts (Line 7281, "Vcl.Graphics.pas" + 12) + $8
[50CFB614]{vcl270.bpl  } Vcl.Controls.TWinControl.MainWndProc (Line 10113, "Vcl.Controls.pas" + 3) + $6
[50E40D65]{vcl270.bpl  } Vcl.Menus.TPopupList.MainWndProc (Line 4710, "Vcl.Menus.pas" + 2) + $5
[501826A4]{rtl270.bpl  } System.Classes.StdWndProc (Line 18175, "System.Classes.pas" + 8) + $0
[2135B9B3]{vclide270.bpl} IDEVirtualTrees.TVirtualTreeHintWindow.IsHintMsg (Line 7103, "IDEVirtualTrees.pas" + 7) + $13
[50E5C233]{vcl270.bpl  } Vcl.Forms.TApplication.ProcessMessage (Line 11028, "Vcl.Forms.pas" + 23) + $1
[50E5C276]{vcl270.bpl  } Vcl.Forms.TApplication.HandleMessage (Line 11058, "Vcl.Forms.pas" + 1) + $4
[50E5C5AD]{vcl270.bpl  } Vcl.Forms.TApplication.Run (Line 11196, "Vcl.Forms.pas" + 26) + $3
[00524DB8]{bds.exe     } bds.bds (Line 222, "" + 13) + $2
luebbe commented 2 years ago

A rebuild followed by an install worked without AV and the buttons now show up and are functional. Code coverage works. Nevertheless, the two non-functional buttons are still there and clearly belong to the CodeCoverage toolbar.

grafik

Cheers & thanks!

UweRaabe commented 2 years ago

I can reproduce with 10.4.2 and it seems to be a problem with INTAServices.NewToolbar and it looks like it is bound to this Delphi version. Currently I have no idea what is happening and how to workaround it.

In addition there are problems to display the correct images for these toolbars while the menu item looks fine. This happens at least when the IDE is restarted twice. These problems are not visible in Delphi 11.