vcl140.bpl access violation

Just installed the 7.4.4.0 component pack for my D2010. When Delphi starts I get the message "Access violation at 5029D5B3 read of vcl140.bpl. Read of address 00000258". Delphi will continue to load and comes with the last project. The project can be compiled at any time. But if a change is made and you try to run in debug, the error returns and the project never comes up. The error also comes up sometimes (haven't pinned down the sequence, sorry) when Delphi is closed. Previous versions of the component pack loaded fine. Where should I look for what changed?


I'd suggest to start looking if there aren't any old version leftover files on your system. Scan your full hard disk for old version tms*.bpl & tms*.dcp files and delete all old version files.

No old versions exist.

I cannot reproduce this.
Is this Delphi 2010 with ALL update packs / fixes applied?

Yes, it is - as far as I know I did them all when they came out. It's been a while since there was an update. I reinstalled 7.3.2 and the vcl140.bpl error does not appear. Hope that gives you a clue.

I can only suspect you do not have a clean Delphi 2010 latest version setup.

It was retested here and there is no such issue with Delphi 2010 version 14.0.3593.25826 and TMS Component Pack v7.4.4.0. 
We have also not received a single similar problem report.
I'd suggest to first revise your Delphi 2010 version and possibly also consider a clean reinstall.

Bruno Fierens2014-07-16 03:06:24

Interesting... I show my version as 14.0.3615.26342 - a higher number than you (?). Listed updates in the About screen show "Delphi and C++ update 4" and "Delphi and C++ update 5 (Database Pack)". Thank you for your testing efforts. I will go back to the Embarcadaro site and see what I might be missing, but it's odd that my version seems higher than yours.

What is installed here is RAD Studio 2010 and not Delphi + packs. Perhaps that's the difference.

Here is the detailed listing when the error appears. It looks like AdvStringGrid is having issues.

[5029D5B3]{vcl140.bpl  } Controls.TWinControl.HandleNeeded (Line 11847, "Controls.pas" + 1) + $0
[5029D5D9]{vcl140.bpl  } Controls.TWinControl.GetHandle (Line 11856, "Controls.pas" + 1) + $2
[0F16B37E]{tmsd2010.bpl} Advgrid.TAdvStringGrid.HideFocusHelper + $12
[0F1AB40F]{tmsd2010.bpl} Advgrid.TAdvStringGrid.WndProc + $8F
[50299DD8]{vcl140.bpl  } Controls.TWinControl.MainWndProc (Line 9540, "Controls.pas" + 3) + $6
[50076408]{rtl140.bpl  } Classes.StdWndProc (Line 13015, "Classes.pas" + 8) + $0
[50299788]{vcl140.bpl  } Controls.TWinControl.DestroyWindowHandle (Line 9300, "Controls.pas" + 5) + $A
[50299739]{vcl140.bpl  } Controls.TWinControl.DestroyWnd (Line 9291, "Controls.pas" + 15) + $4
[0F1AEC5D]{tmsd2010.bpl} Advgrid.TAdvStringGrid.DestroyWnd + $5
[502999C1]{vcl140.bpl  } Controls.TWinControl.DestroyHandle (Line 9414, "Controls.pas" + 16) + $4
[50299991]{vcl140.bpl  } Controls.TWinControl.DestroyHandle (Line 9403, "Controls.pas" + 5) + $F
[502C183D]{vcl140.bpl  } Forms.TCustomForm.DestroyHandle (Line 5194, "Forms.pas" + 30) + $3
[50299991]{vcl140.bpl  } Controls.TWinControl.DestroyHandle (Line 9403, "Controls.pas" + 5) + $F
[502C183D]{vcl140.bpl  } Forms.TCustomForm.DestroyHandle (Line 5194, "Forms.pas" + 30) + $3
[5029F568]{vcl140.bpl  } Controls.TWinControl.UpdateRecreatingFlag (Line 13085, "Controls.pas" + 7) + $F
[502BF036]{vcl140.bpl  } Forms.TCustomForm.SetParent (Line 3722, "Forms.pas" + 8) + $5
[22157D8D]{delphivclide140.bpl} VCLFormContainer.TVCLEditorFormDesignerWrapper.DisplayDesigner (Line 1350, "VCLFormContainer.pas" + 1) + $7
[218D5E55]{delphicoreide140.bpl} EmbeddedDesignerForm.TFormEditorView.Display (Line 130, "EmbeddedDesignerForm.pas" + 17) + $6
[2085795C]{coreide140.bpl} EditorForm.TEditWindow.ShowView (Line 4185, "EditorForm.pas" + 51) + $1
[20851F47]{coreide140.bpl} EditorForm.TEditWindow.SelectBuffer (Line 1881, "EditorForm.pas" + 72) + $A
[20857F47]{coreide140.bpl} EditorForm.TEditWindow.EndUpdate (Line 4361, "EditorForm.pas" + 4) + $6
[208019A1]{coreide140.bpl} Desktop.TModuleFormHandler.LoadModuleForms (Line 494, "Desktop.pas" + 71) + $A
[20801483]{coreide140.bpl} Desktop.TDesktopFormHandlers.DoLoadModuleForms (Line 283, "Desktop.pas" + 4) + $1
[20802854]{coreide140.bpl} Desktop.LoadDeskFile (Line 772, "Desktop.pas" + 49) + $F
[20803D74]{coreide140.bpl} Desktop.LoadProjectDesktop (Line 1113, "Desktop.pas" + 8) + $23
[207FD9FB]{coreide140.bpl} ProjectFileUtils.ShowProject (Line 455, "ProjectFileUtils.pas" + 8) + $6
[207FE883]{coreide140.bpl} ProjectFileUtils.MSBuildLoadProjectFile (Line 694, "ProjectFileUtils.pas" + 44) + $25
[218BE362]{delphicoreide140.bpl} BaseDelphiProject.TDelphiProjectFileModuleHandler.FileOpen (Line 3390, "BaseDelphiProject.pas" + 2) + $B
[208DA452]{coreide140.bpl} DocModul.TFileOpenHandler.FileOpen (Line 3136, "DocModul.pas" + 2) + $2
[208D5338]{coreide140.bpl} DocModul.TFilterList.OpenFile (Line 790, "DocModul.pas" + 36) + $18
[208D91C7]{coreide140.bpl} DocModul.CallDefaultOpenProc (Line 2555, "DocModul.pas" + 3) + $19
[20803BF5]{coreide140.bpl} Desktop.LoadDesktop (Line 1096, "Desktop.pas" + 81) + $D
[50295E70]{vcl140.bpl  } Controls.TControl.WndProc (Line 7062, "Controls.pas" + 91) + $6
[5029A738]{vcl140.bpl  } Controls.TWinControl.WndProc (Line 9819, "Controls.pas" + 144) + $6
[502BF674]{vcl140.bpl  } Forms.TCustomForm.WndProc (Line 3960, "Forms.pas" + 191) + $5
[50299DD8]{vcl140.bpl  } Controls.TWinControl.MainWndProc (Line 9540, "Controls.pas" + 3) + $6
[50076408]{rtl140.bpl  } Classes.StdWndProc (Line 13015, "Classes.pas" + 8) + $0
[5029098A]{vcl140.bpl  } Controls.FindControl (Line 3377, "Controls.pas" + 6) + $9
[502C8775]{vcl140.bpl  } Forms.TApplication.ProcessMessage (Line 9760, "Forms.pas" + 30) + $1
[502C87A2]{vcl140.bpl  } Forms.TApplication.ProcessMessages (Line 9782, "Forms.pas" + 1) + $4
[00418CCF]{bds.exe     } SanctuaryChecker..TList<SanctuaryChecker.TLicenseManager.TValidProduct> (Line 288, "ui\SanctuaryChecker.pas" + 0) + $1DB0
[50306E65]{vcl140.bpl  } AppEvnts.TCustomApplicationEvents.DoActivate (Line 200, "AppEvnts.pas" + 1) + $C
[503074C5]{vcl140.bpl  } AppEvnts.TMultiCaster.DoActivate (Line 421, "AppEvnts.pas" + 5) + $C
[502C7CED]{vcl140.bpl  } Forms.TApplication.WndProc (Line 9375, "Forms.pas" + 125) + $C
[50076408]{rtl140.bpl  } Classes.StdWndProc (Line 13015, "Classes.pas" + 8) + $0
[502C8775]{vcl140.bpl  } Forms.TApplication.ProcessMessage (Line 9760, "Forms.pas" + 30) + $1
[502C87BA]{vcl140.bpl  } Forms.TApplication.HandleMessage (Line 9790, "Forms.pas" + 1) + $4
[502C8AE5]{vcl140.bpl  } Forms.TApplication.Run (Line 9927, "Forms.pas" + 26) + $3
[004369AE]{bds.exe     } bds.bds (Line 200, "" + 8) + $FFFB

What operating system do you have?

Windows 7 64bit

It was tested here on the same operating system.
Do you have another system where you can test this? Other than a Delphi setup issue, I cannot see any reason. We have not a single similar problem report and can't reproduce this.

I'm sure it's frustrating to not be able to reproduce the problem. I know it from working with users of the final software I develop with your products. I will continue to try to isolate the problem. I have determined that the error does not occur with a slightly less complex project that also uses an advstringgrid. So I'm checking the .dproj files and properties of the grid to see if I can find the trigger.

The problem appears to be FocusHelper was set to True. Changing to False has cleared the problem. If you want to see the unit.dfm file for the total profile, please let me know.

As we can't reproduce this issue here, please provide some sample source that allows us to see & investigate the issue here.

Thanks to another similar problem report from another user that we could reproduce, we were able to trace & fix this issue. The next update will address this.