Selective Debugging

A while ago a question Paul TOTH asked on Google+:

Please, could you add a “Use System debug DCU” with the “Uses debug DCU’s” checkbox to avoid the debuger to go in the low level System functions ?

During the comments I learned that Jeroen Wiert Pluimers asked a similar question on stackoverflow over a year ago. You can find some interesting approaches tackling that problem, but none of them looked clean and easy enough for me. So I tried to find another solution. Continue reading “Selective Debugging”

Delphi Library Guidelines

Everytime a new Delphi version arrives, a library vendor releases a new version or you are going to change to a newer version of some open source library it is quite likely you are getting into some hassles while integrating these changes or new version into your preferred Delphi IDE(s). Although there are vendors that actually do a good job here there are cases when there is some room for improvement. Here I am going to list some things that bothered me in the past and ways to make it easier for the developer to adapt those libraries to a newer Delphi version (without waiting for the vendor).

Continue reading “Delphi Library Guidelines”

The Garbled PATH Variable

Some of you might have already been bitten by this one: After installing a new Delphi version you end up with a garbled PATH variable, simply because the installer tries to extend this variable over some limit. I was not able to find enough reliable information to name this limit, but it might be something about 2000 characters, but this might as well depend on the underlying operating system.

During the setup of a new system with lots of older Delphi versions I decided to write a simple program that uses environment variables to compress the PATH variable so that hopefully it fits when installing the next Delphi version. Continue reading “The Garbled PATH Variable”

Poor Man’s CSV Export

Recently I came to the point where I had to export the tables of a database as CSV files. While in FireDAC there is TFDDataMove, I wasn’t able to use it as I encountered a bug  in that component that rendered the output useless. (The bug has been fixed by Dmitry the day after I mentioned it, but is not publicly available yet.)

So I wondered how such a simple CSV export can be done with things available in Delphi. Well, here it is: Continue reading “Poor Man’s CSV Export”