Monday, 24 September 2012

Delphi actions

I’ve got a bunch of Delphi articles on my web site, mostly from the halcyon days of international Delphi conferences and printed Delphi magazines. One of the old articles that still gets quite a few regular hits is the one on actions from the early part of this century. Given it was around a decade old and actions have recently been added into the FireMonkey framework in Delphi XE3 I thought it might be an idea to dust it down and update it a bit.

So I present my slightly shinier actions article: Actions, Action Lists and Action Managers for your delectation. I’ve tried to be reasonably thorough and certainly found a bunch of places where methods have moved from one class to another. And I’ve covered the FireMonkey action support, meagre as it may be.

By ‘meagre’ that I mean that we have action lists but not managers nor action bands. Also, FireMonkey actions are not equipped to find arbitrary action targets, which is why the collection of standard actions is rather underwhelming. Still, it’s a first pass, and when Delphi 4 introduced actions, things were pretty thin on the ground there too, so hopefully matters will improve in that regard.

Oh, in the process of updating the article I bumped into what certainly appear to be a bundle of bugs in certain aspects of the VCL action bands – they’re highlighted in the text.

If it looks like I’ve overlooked anything key or made a hash of understanding something in the current implementation, do be a good sport and let me know, won’t you? That way there’s a more than average chance of me getting it fixed.