Page 1 of 1

Access Violation Starting BCB2010 IDE

Posted: Mon 21 Sep 2009 05:01
by swhaworth
Hi,

I have installed the latest SDAC into my BCB2010 installation and I get an access violation on startup:

Code: Select all

[0BB64E7E]{DataSetManager140.bpl} Dsmtoolwindow.GetPreferences + $1A
[0BB6473E]{DataSetManager140.bpl} Dsmtoolwindow.TDsmToolWindow.FormCreate + $4E
[502BE389]{vcl140.bpl  } Forms.TCustomForm.DoCreate (Line 3319, "Forms.pas" + 3) + $C
[502BDFC5]{vcl140.bpl  } Forms.TCustomForm.AfterConstruction (Line 3203, "Forms.pas" + 1) + $D
[5000A41D]{rtl140.bpl  } System.@AfterConstruction (Line 10325, "System.pas" + 2) + $5
[0BB5D857]{DataSetManager140.bpl} Dsmtoolwindow.TDsmToolWindow + $43B
[0BB5C2F9]{DataSetManager140.bpl} Dsmtoolwindow.TDsmToolWindow.CreateForm + $19
[0BB70981]{DataSetManager140.bpl} Dsmexpert.initialization + $31
[5000B312]{rtl140.bpl  } System.InitUnits (Line 12773, "System.pas" + 25) + $0
[5000B382]{rtl140.bpl  } System.@PackageLoad (Line 12794, "System.pas" + 8) + $0
(000004B9){DataSetManager140.bpl} [0BB214B9]
[0BB6FC21]{DataSetManager140.bpl} Initialize + $5
[50035527]{rtl140.bpl  } SysUtils.InitializePackage (Line 20246, "SysUtils.pas" + 4) + $0
[5003567F]{rtl140.bpl  } SysUtils.LoadPackage (Line 20296, "SysUtils.pas" + 18) + $5
[2188BC0F]{delphicoreide140.bpl} PasCppPakMgr.TIDEDesignPackage.ClearModules (Line 2149, "PasCppPakMgr.pas" + 14) + $10
[208D1C84]{coreide140.bpl} PakLoad.TPackage.DoLoadPackage (Line 143, "PakLoad.pas" + 0) + $8
[208D1DF9]{coreide140.bpl} PakLoad.TPackage.Load (Line 217, "PakLoad.pas" + 7) + $7
[20829EA9]{coreide140.bpl} PakMgr.TDesignPackage.Load (Line 581, "PakMgr.pas" + 2) + $2
[2188BF4F]{delphicoreide140.bpl} PasCppPakMgr.TIDEDesignPackage.Load (Line 2252, "PasCppPakMgr.pas" + 4) + $3
[5000A41D]{rtl140.bpl  } System.@AfterConstruction (Line 10325, "System.pas" + 2) + $5
[2188BD63]{delphicoreide140.bpl} PasCppPakMgr.TIDEDesignPackage.DelayLoad (Line 2177, "PasCppPakMgr.pas" + 11) + $4
[218866F2]{delphicoreide140.bpl} PasCppPakMgr.LoadDesignPackage (Line 453, "PasCppPakMgr.pas" + 10) + $5
[218869E5]{delphicoreide140.bpl} PasCppPakMgr.LoadProjectPackages (Line 524, "PasCppPakMgr.pas" + 52) + $11
[2255229D]{bcbide140.bpl} MSBProjOpts.TProjectOptions.LoadPackages (Line 2335, "MSBProjOpts.pas" + 22) + $9
[2258A9DB]{bcbide140.bpl} CppProject.TBcbProjectCreationTrait.LoadDefaultLibraries (Line 371, "CppProject.pas" + 1) + $1F
[207A6769]{coreide140.bpl} ProjectGroup.TDefaultProjectWrapper.LoadDefaultLibraries (Line 3262, "ProjectGroup.pas" + 5) + $31
[207FD9BD]{coreide140.bpl} Desktop.LoadDesktop (Line 1095, "Desktop.pas" + 80) + $9
[0041C682]{bds.exe     } bds.Finalization + $1666
[50295DFC]{vcl140.bpl  } Controls.TControl.WndProc (Line 7062, "Controls.pas" + 91) + $6
[5029A6C0]{vcl140.bpl  } Controls.TWinControl.WndProc (Line 9819, "Controls.pas" + 144) + $6
[502BF58C]{vcl140.bpl  } Forms.TCustomForm.WndProc (Line 3960, "Forms.pas" + 191) + $5
[5029A6C0]{vcl140.bpl  } Controls.TWinControl.WndProc (Line 9819, "Controls.pas" + 144) + $6
[50295A20]{vcl140.bpl  } Controls.TControl.Perform (Line 6840, "Controls.pas" + 10) + $8
[502C4A25]{vcl140.bpl  } Forms.TCustomForm.UpdateGlassFrame (Line 7103, "Forms.pas" + 37) + $4
[502BF58C]{vcl140.bpl  } Forms.TCustomForm.WndProc (Line 3960, "Forms.pas" + 191) + $5
[50299D60]{vcl140.bpl  } Controls.TWinControl.MainWndProc (Line 9540, "Controls.pas" + 3) + $6
[50076360]{rtl140.bpl  } Classes.StdWndProc (Line 13014, "Classes.pas" + 8) + $0
[50290916]{vcl140.bpl  } Controls.FindControl (Line 3377, "Controls.pas" + 6) + $9
[502C8749]{vcl140.bpl  } Forms.TApplication.ProcessMessage (Line 9784, "Forms.pas" + 30) + $1
[502C8776]{vcl140.bpl  } Forms.TApplication.ProcessMessages (Line 9806, "Forms.pas" + 1) + $4
[0041CF23]{bds.exe     } bds.Finalization + $1F07
[50306E39]{vcl140.bpl  } AppEvnts.TCustomApplicationEvents.DoActivate (Line 200, "AppEvnts.pas" + 1) + $C
[50307499]{vcl140.bpl  } AppEvnts.TMultiCaster.DoActivate (Line 421, "AppEvnts.pas" + 5) + $C
[502C7CC1]{vcl140.bpl  } Forms.TApplication.WndProc (Line 9399, "Forms.pas" + 125) + $C
[50076360]{rtl140.bpl  } Classes.StdWndProc (Line 13014, "Classes.pas" + 8) + $0
[502C8749]{vcl140.bpl  } Forms.TApplication.ProcessMessage (Line 9784, "Forms.pas" + 30) + $1
[502C878E]{vcl140.bpl  } Forms.TApplication.HandleMessage (Line 9814, "Forms.pas" + 1) + $4
[502C8AB9]{vcl140.bpl  } Forms.TApplication.Run (Line 9951, "Forms.pas" + 26) + $3
[0042D94A]{bds.exe     } bds.bds (Line 200, "" + 8) + $FFFB
I have traced this in the debugger and I believe that the cause is my running BCB in Windows 7 not as an administrator. It is attempting to create a file $(BDS)\bin\datasetmanager.cfg that cannot be created in this context as the directory is not writeable. If I run the IDE once under admin rights, then that file is created and running the IDE again under user rights produces no AVs.

I am happy that I have worked out the cause, but I believe for future releases that you should not be writing files to a programs directory.

Steven Haworth

Posted: Tue 22 Sep 2009 09:44
by Plash
We have fixed this problem. The fix will be included in the next build of SDAC.