Like many I suspect, Charles Petzold’s “Programming Windows” was one of the most important books on my shelves for a long time, and it has been a long time since it was updated. With the advent of .NET many perhaps thought a new edition would never come (or indeed be needed). But a 6th Edition is on it’s way, and can be had for an absolute steal under a very creative pricing structure unveiled by O’Reilly.
Read the rest of this entry »

I have posted before about new language features introduced in a way that does not adhere to the (admittedly quite notional) “Spirit of Delphi”. It’s time for another one, this time inspired by a post by Paul Klink of the ADUG.
Read the rest of this entry »

The release notes for Update #4 have appeared online, signalling the imminent arrival no doubt of the update itself.
Read the rest of this entry »

Ms Stob has blessed us with another chapter in the Book of Khan. A great start to 2012. Thank you Ms Stob. :)

Yesterday I posted an observation on Google+, lamenting the lack of a compiler warning when code in an overridden method failed to call any inherited implementation. This simple oversight in an AfterConstruction override in a situation where the observed bug that arose (a memory leak) could just as easily have been the consequence of a more complex error on my part, caused me to spend a significant amount of time, hunting down the wrong bug.
Read the rest of this entry »

Mat DeLong just posted another great example of when not to abuse class helpers in Delphi (though I should add that he didn’t seem to see it that way). :)

But you don’t need helpers to do what this technique achieves, and in my view you really shouldn’t be using helpers for it in the first place.
Read the rest of this entry »

Simon Stuart recently shared a comment on Google+ about the modern relevance of BASIC. This prompted me to think about BASIC, it’s role in my career and how software development career’s get started today.

This post is what came from those thoughts.
Read the rest of this entry »

If you are about to install update #1 for Delphi XE2, the first thing you will need to do is uninstall your current version. But beware – the uninstaller doesn’t tell you something quite important.
Read the rest of this entry »

“The Delphi Geek” recently blogged about a performance bottleneck he had identified in FastMM when used with a particular conditional define. Although not directly related, his post reminded me of an experience I had many years ago, working on a highly complex multi-threaded system (long before FastMM) and the strategy we found we had to employ in order to get optimal performance from our threading code when encountering different numbers of CPU’s (these days “cores’).
Read the rest of this entry »

You may have heard that the first of the promised frequent updates for XE2 has already arrived. If, like me, your first instinct was to reach for the “Check for Updates” option in your XE2 installation you may then have been confused to be told there were no updates. That’s because you have to completely UNinstall and REinstall from scratch, as mentioned in the official announcement, along with download links.
Read the rest of this entry »

« Older entries