[fpc-pascal] memory leak detection using FPC
Leonardo M. Ram�
martinrame at yahoo.com
Tue Sep 19 14:38:57 CEST 2006
That's true, because of that i don't use interfaces in FPC, instead i use virtual abstract
classes.
--- Inoussa OUEDRAOGO <inoussa12 at gmail.com> wrote:
> hi
> I reported a bug for interface reference counting at
> http://www.freepascal.org/mantis/view.php?id=7281
>
> Bellow is the test program.
>
> Regards, Inoussa.
>
>
> ====================
> program test_intf;
>
> {$mode objfpc}{$H+}
>
> uses
> SysUtils;
>
> type
> ITest = interface
> procedure DoIt(AMsg : string);
> end;
>
> TTest = class(TInterfacedObject,ITest)
> protected
> procedure DoIt(AMsg : string);
> public
> constructor Create();
> destructor Destroy();override;
> end;
>
> var InstancesCount : Integer = 0;
>
> procedure TTest.DoIt(AMsg: string);
> begin
> WriteLn(AMsg);
> end;
>
> constructor TTest.Create();
> begin
> Inherited;
> Inc(InstancesCount);
> WriteLn('Creating >>> ',Integer(self));
> end;
>
> destructor TTest.Destroy();
> begin
> Dec(InstancesCount);
> WriteLn('Destroying >>> ',Integer(self));
> inherited Destroy();
> end;
>
> procedure proc1(ATest : ITest);
> begin
> ATest.DoIt(' called in proc1');
> end;
>
> procedure test();
> begin
> (TTest.Create() as ITest).DoIt(' called in test');
> proc1(TTest.Create() as ITest);
> end;
>
> begin
> test();
> WriteLn('Remaining instances ... ',InstancesCount);
> end.
> _______________________________________________
> fpc-pascal maillist - fpc-pascal at lists.freepascal.org
> http://lists.freepascal.org/mailman/listinfo/fpc-pascal
>
Leonardo M. Ramé
http://leonardorame.blogspot.com
__________________________________________________
Do You Yahoo!?
Tired of spam? Yahoo! Mail has the best spam protection around
http://mail.yahoo.com
More information about the fpc-pascal
mailing list