ImageLists and High DPI

I think we have to face it: More and more systems are equipped with monitors capable of displaying in higher density and people expect that our apps support these  higher resolutions. While not that often, but still significant, we can see multiple monitor systems with mixed density getting their share.

With the release of Delphi 11.2 I thought that it might be time to bite the bullet and empower one of my bigger apps for High DPI support. Some edge cases with not commonly used components and other unavoidable quirks were expected. Luckily I was able to fix all of them or at least found acceptable workarounds.

The big task I have already been aware of for quite some time were the image lists. Continue reading “ImageLists and High DPI”

Async Tasks in VCL Projects

Sometimes actions inside an application need their time. From retrieving data from REST service or a database to scanning your hard disk for all files containing images, there are a plethora of things that can be time consuming. In case these tasks are executed in the main thread the application will probably become unresponsive and feels like frozen – to the user as well as to the operating system.

There is a good chance that one can solve this by moving the time consuming task into a thread. That is usually where the problems start creeping in. Continue reading “Async Tasks in VCL Projects”

Delphi VCL Applications with mixed DPI

High DPI display and 4K Monitors are getting more common these days. Supporting higher settings than 96 dpi is already possible with some of the newer Delphi versions.

Nevertheless this is still a time and resource consuming task. Not only do you need additional sizes for the icons used in your application, you also have to check each form and frame for looking good in higher scaled environments.

Continue reading “Delphi VCL Applications with mixed DPI”