[fpc-devel] Suggestion: reference counted objects

Hans-Peter Diettrich DrDiettrich1 at aol.com
Sat Sep 20 12:36:16 CEST 2014

Fabrício Srdic schrieb:
> Hello,
> In platforms with managed code (.NET, Java), objects are automatically 
> freed by the memory manager / garbage collector.
> Would not it be interesting to have a similar feature in FPC?

AFAIK some Delphi XE made TObject itself managed, by reference counting. 
It would be easy to introduce the same feature in FPC, so that no 
special base class would be required. Like with extended RTTI a decision 
should be made, whether managed objects should be enabled or disabled by 
default. Afterwards automatic management can be turned on or off for 
every single class or object individually.

> For example, through a root class where its objects are counted by 
> reference, like the TInterfacedObjects. Thus, the programmer would be 
> free from having to manually release objects.

In practice it turned out that the automatic destruction of objects 
still requires assistance of the coder, in many cases, in all languages 
with garbage collection. I.e. a destructor (or finalizer) still is 
required to prepare an object for subsequent destruction.

IMO it's sufficient to use Interfaces for all objects that should be 
subject to garbage collection.


More information about the fpc-devel mailing list