[fpc-pascal] Reference Counting

Graeme Geldenhuys graemeg.lists at gmail.com
Sat Apr 3 22:59:00 CEST 2010

On 3 April 2010 21:01, Werner Van Belle <werner at yellowcouch.org> wrote:
> Type
>   TReferenceCount = Class

That is the same as...

   TReferenceCount = class(TObject)

> var
>   Test    : TReferenceCount;
>   Pest    : TReferenceCount;
> begin
>   Test:=TReferenceCount.Create();


>   Test:=nil;

This causes a memory leak - you did not actually free the class
instance. You need to call:  Test.Free;

>   Pest:=nil;

Pest was just a reference pointer to the first instance, so no need to
free it. But setting it to nil after Test was freed is a good habit.

If you wanted real reference counted objects that gets freed
automatically when nothing is referencing it, then create a descendant
of TInterfacedObject.

  - Graeme -

fpGUI - a cross-platform Free Pascal GUI toolkit

More information about the fpc-pascal mailing list