We all want to do the right thing with memory management and make sure we tidy up after ourselves. However as our code gets buried in successive layers of object allocation, try, finally, free "nests" it all becomes a bit onerous -- and, well, resembling a pterodactyl nest. In this session, we look at a technique to flatten out your code so that it will look less attractive as habitation for a friendly pterosaur, and as a side benefit, improve readability. Along the way we use interfaces, generics and anonymous methods to build our over-engineered object de-allocation artifice.  Watch the video on YouTube. This video is about half an hour long.

In this YouTube video I take a look at the fact that depending on what version of Delphi and if you are using FireMonkey or the VCL, the definitions of Margins and Padding on controls are different.  Up until Delphi XE4, the usage of Margins and Padding in FireMonkey was reversed to that of the VCL, but now this situation has changed and they are the same, making margins and padding different in FireMonkey between XE3 and XE4 -  confused, watch the video.

In this 4 minute video we look at the initialization and finalization sections of Delphi units, and how you can use begin instead of initialization - which may cause you some grief in some instances.  Watch the video.  In the video I also mention CnPack, which has some highly useful utilities.

In this video I write my first iOS application, the classic Fish Facts application - soon to be available in the App Store (or not).  We do this with the recently released Delphi XE4.  Watch it on YouTube.

In this video we take a quick look at form inheritance, and why renaming component events can cause you problems.  The video is 7 minutes long.

"If you assign a stringlist to a combobox items property using ':=', you still have to free the stringlist." This tweet by Nick Hodges is probably very obvious to any seasoned Delphi developer, however I think it's far from obvious to someone new to Delphi. In this video we take a look why we need to "free the stringlist". Watch on Youtube, it's less than 5 minutes long.

In this video we take a look at changing the default font for the code editor in the IDE (Courier New), to something better.  After a bit of research online I give a few recommendations as to what font to use, watch this video on YouTube to find out.  The video is 5 minutes long.

In this video we take a look at some shortcuts to implementing interfaces on classes in Delphi.  Knowing these shortcuts will save you a bunch of typing (and hence improve productivity).  I produced this video in a response to a post by Nick Hodges (always a fan of his posts), in it he indicates there is no automated way to add interface methods to classes, while he is correct, there are some keyboard shortcuts to make it quicker, watch and learn.

The OnCreateItemClass event was introduced to TListView a few versions of Delphi ago, you've probably never noticed it but it's a big improvement on using the Data property on a TListItem - If you have no idea what I'm talking about then you need to watch my video on OnCreateItemClass here.  It is about 9 minutes long.

This video covers how to handle Command Line Parameters in your Delphi applications, with them you can make your applications more flexible giving them some initial state (such as "myprog.exe /SafeMode") or instructing them to perform some actions at start up ("myprog.exe /TakeOverWorld").  This video is about 14 minutes long and is available on YouTube.