Discussing, Learning, and Using Delphi and related technologies to create Great Applications!

September - Delphi Debates

September, 2022


People develop strong opinions about things they do or believe and sometimes have a difficult time seeing another point of view. This certainly exists for politics and religion but is also strong in the technology sector. Whether you use Mac or Windows, Android or iPhone, C++ or Delphi, it’s not hard to find heated discussions about what is the best or “right” choice.

Embarcadero is hosting a series of online discussions to weigh in on some of the hot topics in the Delphi programming language. The first one was whether to use the SysUtils procedure FreeAndNil or call Free explicitly on your objects. This is a long-standing debate with strong opinions on both sides. A quick internet search will reveal many arguments, some from long ago, and some more recent. Along with how you free an object is the question of if and how you should check to see if an object variable is nil or not–there wasn’t as much disagreement over the use of Assigned().

The next debate covered With, Goto, & Label. The webinar was a good discussion and revealed a surprising number still using goto but again there were arguments both for and against all sides. The are surprising results about the usage of these constructs. (After inheriting a project with a vast number of with statements, I have some pretty strong feelings about this subject!)

We’ll dive into these topics, find out what others have said, and look at some code to see why you might want to choose one technique over the other–and when. We’ll keep it light-hearted but hopefully learn some interesting things about the internals of Delphi in the process.


David Cornelius is a full-time Delphi developer and has been programming since the 1980s.