That's true, because of that i don't use interfaces in FPC, instead i use 
virtual abstract
classes.

--- Inoussa OUEDRAOGO <[EMAIL PROTECTED]> 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@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 
_______________________________________________
fpc-pascal maillist  -  fpc-pascal@lists.freepascal.org
http://lists.freepascal.org/mailman/listinfo/fpc-pascal

Reply via email to