Delphi 9.0, Helper classes and GC
Chris Anderson points to an interesting post on the use of helper classes in Delphi to aid with GC. Helper classes are a compiler feature that maps IDispose to callable method called Free. The article explains some common assumations about GC and where IDispose can help. However rather than modify existing Delphi code to make use of IDispose the compiler provides the Free method to do this for you. It's interesting to note that the compiler also controls this to prevent Free from being called twice. I can see the real value of adding this feature to the compiler as it provides a higher level to the programmer for clearing up.