Code Faster in Delphi Book

This book will make you a faster Delphi developer, it doesn't matter if you are just starting out, or have been using Delphi since version 1, you will find all sorts of tips, tricks and hacks to boost your productivity.

Slide
Mega Pack Video Bundle
Get The Complete Video Series

Buy big and save bigger, Megapack is the complete premium video content (over 34 hours) at one low price.

Code Better in Delphi Book

Make your Delphi code better by reading this book! You will find numerous tips, tricks, techniques and tools to enhance and improve code. How does your code stack up? Are you writing code that will be usable for years, or are you heading towards a dystopian maintenance apocalypse?

previous arrow
next arrow

Centralise Your TVirtualImageLists - #246

In this video, you will learn a clever hack to be able to centralise a single TVirtualImageList, rather than having one in each form. That is, if you have some sort of single form interface, e.g. MDI or Tabbed interface, where forms and frames are embedded into a single main form.

Data Execution Prevention - #245

Discover the ins and outs of Data Execution Prevention (DEP) in this informative Delphi video. Learn what DEP is, how it protects your system, and how to disable it when necessary.

Multi-Line Strings make SQL Easier - #244

If you are using a TStringList to build your queries in Delphi, then you need to watch this video. Add to this named parameters and HeidiSQL, and you can 10x your workflow.  Watch here.

SQLite Type Headaches - #243

SQLite is an extremely powerful database, but it is not without its source of headaches. One is its limited typing, which is particularly noticeable when you have calculated fields. Fortunately, FireDAC in Delphi has two solutions to this.  Find out what they are here.

Dynamically Link an Updated SQLite DLL - #242

Delphi will statically link the SQLite DLL to your application, but what if you need to use an updated driver to take advantage of new features in SQLite. Well, you can dynamically link an updated DLL.  Watch here.

More about this (and instructions) in my StackOverflow question.

User Defined SQLite Functions - #241

Creating your own functions in SQLite is another Delphi superpower. Find out how to do it in this video.

Re-Colouring Bitmaps with Correct Alpha Transparency - #240

I wanted to convert some black bitmaps to white while preserving the transparency. This turned out to be much more challenging than I suspected.  Why? Find out by watching.

Setting a Breakpoint on an Exit Statement - #239

I hadn't thought about this before, but in Delphi, you can't break on an exit statement, but it's something you can quickly fix - and make your code easier to debug.  Find out by watching this video.

Logging Using Dependency Inversion - #238

This video got a bit out of hand, but what I wanted to demonstrate was using an interface to hide an implementation and prevent unwanted dependencies from sneaking into our code. The example uses logging, and we continue using QuickLogger from our previous video (235).

Define Your Own Anonymous Method Types - #237

In this video, we look at using some of the predefined anonymous method types in Delphi - in particular, TProc<string> and why it might be a good idea to create some of your own.