FastMM – Preparing your apps to report memory leaks

One of the most challenging parts of inheriting a legacy project is to fix the memory leaks that most often are hiding in the code. A while ago, while dealing with an application that managed to eat all the available memory within a few hours I found FastMM. And it sure was a great find. Continue reading “FastMM – Preparing your apps to report memory leaks”

Delphi Services and Localization Issue

About five months ago I was called in to look into an localization issue affecting one of our software products. The software in case is a Windows Service written in Delphi. This service is used to collect live data from a series of networked devices and store such data into a RDBMS. As usual my colleagues were very quick to blame the issue on Delphi. Continue reading “Delphi Services and Localization Issue”

My Event logger – a poor man’s debugger

I have been working around multi threaded services for quite a while now. And as you may know, multi threading services are very hard to debug. When debugging multi threaded applications one must collect run-time information without disturbing the threads and introducing delays that would ultimately cripple the service or render the debug effort meaningless. Clearly, I needed to have the program send real-time messages. Continue reading “My Event logger – a poor man’s debugger”

A matter of character.

Today at work I had to deal with a very mysterious bug. I bug was filed for incorrect characters appearing in our application when running on a Czech OS.
The issue manifested itself in the Czech and Polish versions of our Delphi application. While some of the extended characters displayed correctly other characters such as ‘ř’ appeared as an ‘o’. Continue reading “A matter of character.”