Image for post
Image for post
Photo by Kelly Sikkema on Unsplash

Always wanted to know how to use Dependency Injection with Delphi? I’ve set up an example for you in which we go from strongly coupled code to beautiful, uncoupled code in a few steps via Dependency Injection and with the help of interfaces.

We’ll start with the following example:

As you can see, there is nothing wrong with the code in principle. It is valid Delphi code and it works. However, there are a few remarks to be made. First of all, the code is strongly coupled; the TWordApp class not only depends on the TLanguageTools class, but you cannot even extend the TLanguageTools class with extra functionality. …

As a developer, you can always improve yourself, acquire skills, learn to program better. This can be done simply by programming more (and thus learning from the mistakes you make), but if you really want to get a push, you can best make use of the knowledge of others. That’s why at GDK Software we have a policy that you can always buy books at the expense of the company. You’ll earn this investment back in no time.

At GDK Software we work with both Delphi and Mendix. …

Image for post
Image for post
Photo by Carlos Muza on Unsplash

Last week, I analysed the top 1000 Delphi projects on GitHub, mainly out of curiosity, and also to play with another programming language (Python). I took Delphi projects because we at GDK Software have many customers with this programming language.

To be able to do the analysis, I did the following steps:

  1. Using the GitHub API, I created a list of Delphi projects (sorted by the number of stars).
  2. I cloned every repository to my environment.
  3. Then I analysed the source code. I mainly looked at some interesting statistics that I could get out of the code in this way.

Below is the entire list of repositories added, sorted by the number of stars on GitHub. …

Image for post
Image for post
Photo by Leone Venter on Unsplash

The absence of a good package manager in Delphi is, after 25 years, still a big problem. There are a lot of excellent third party components and libraries available for Delphi. It is what makes the development in Delphi so easy.

Unfortunately it also causes a problem with new installations, or when taking over a project from someone else. If you don’t have the right libraries and components installed you have a problem. Wouldn’t it be great to have a package manager -as available for many other languages and platforms- to resolve this automatically? …

Image for post
Image for post

This year (2020) Delphi celebrates its 25th anniversary. In those 25 years an enormous amount of code has been written. Many of these applications are still in full use by companies and individuals. This shows the power of Delphi; code written decades ago still works, even in the latest Delphi versions.

Still, there are some remarks to be made about this praise. Unfortunately we see that there are also many applications that are still being developed in old Delphi versions. That is a pity, because the new versions of Delphi really have a lot of advantages. …

Image for post
Image for post
Photo by Tim van der Kuip on Unsplash

At GDK Software we have been working with Delphi for years. We have collected quite a few tricks and tips, which I would like to share with you. I have organized Delphi’s tips and tricks into the following topics:

  • Delphi plugins
  • Delphi IDE Shortcuts
  • Live Templates (or Code templates)
  • Various useful links


Delphi plugins

As a Delphi developer, you are working with the Delphi IDE on a daily basis. And although the Delphi editor works fine by itself, with the following plugins you can make your work even easier:

As a Delphi developer, you’ve probably used Delphi packages before. Maybe you have also written your own packages. To simplify installation, we use our own Inno Setup script at GDK Software for the installation of these packages. This allows us to build and install Delphi packages via a setup tool, instead of building the packages ourselves. The biggest benefit is the ease of installation; you don’t have to specify the search paths and compile and install the packages yourself.

Below is a short explanation of the script. …



Co-owner of GDK Software, Delphi developer

Get the Medium app

A button that says 'Download on the App Store', and if clicked it will lead you to the iOS App store
A button that says 'Get it on, Google Play', and if clicked it will lead you to the Google Play store