0

I've just encountered an odd problem whilst translating one of my apps to Delphi XE5 from XE2

I'm not sure if this is a change in behavior with XE5, or whether I've disabled something in XE2, that I haven't (yet) in XE5.

As part of the switch to XE5 we're renaming some database columns. When running the application the debugger is obviously catching when I've missed a rename. All well and good.

However, rather than dropping to the point where I call the incorrect name in my code, it drops into Data.DBXCommon.pas TDBXContext.Error

What's more confusing is that it's not all apps... Any suggestions?

Dan Kelly
  • 2,634
  • 5
  • 41
  • 61
  • Debugger points you to the common place where the dbExpress exceptions are raised. You can show the call stack to see what caused the problem. I'd say it's somehow related to *"Use debug .dcus"*, but it's just a guess. – TLama Oct 02 '13 at 10:01

1 Answers1

1

In XE2 the default project settings had Debug DCUs disabled. Starting from XE3 the default setting of Debug DCUs is enabled. My guess is that this difference of setting explains the difference in behaviour.

This was a rather controversial change in my opinion. It was covered in a couple of QC reports:

David Heffernan
  • 601,492
  • 42
  • 1,072
  • 1,490
  • Thanks David. The issue was compounded because in a couple of apps (the ones affected) I've created a new .dproj as part of the migration, whilst the others have moved lock, stock and barrel over to XE5, with no problems. – Dan Kelly Oct 02 '13 at 10:39
  • Note that [QualityCentral has now been shut down](https://community.embarcadero.com/blogs/entry/quality-keeps-moving-forward), so you can't access `qc.embarcadero.com` links anymore. If you need access to old QC data, look at [QCScraper](http://www.uweraabe.de/Blog/2017/06/09/how-to-save-qualitycentral/). – Remy Lebeau Jun 09 '17 at 17:28