Since its acquisition by Embarcadero Technologies, Delphi is being renovated constantly by introducing some new features in an attempt to reduce the gap to more modern languages like C#. This tendency could quite probably strengthen Delphi’s position as a development tool for startups.
The present paper relies on the author’s experience with a variety of Delphi versions for Win32, from Borland Delphi 3.0 to Embarcadero Delphi XE, and it summarizes a research aimed at identifying some inadvisable development patterns, as well as suggesting more appropriate techniques.
Use of OOD interfaces as an abstraction strategy
- Unexpected behavior of Delphi interfaces in comparisons and reference-counting
- The way a good tool of abstraction can produce a case-programming coding style
Wrapping and aggregation of interfaces
- Impact of an ability to implement multiple unrelated interfaces
Implementing a generalized “publisher-subscriber” notification system
- Straightforward solution and how it is not very convenient
- Slightly better idea
Ides of debugging
- C0000029 — well hidden but alive
- Stack frames
Source code control
- Dealing with .res files
- What should be kept versioned
- Delphi specific tricks to simplify merging of changes
Making use of MSBuild
- Solutions for several nontrivial tasks