[fpc-pascal] Skipping an the "inherited" of an ancestor

Andrew Haines AndrewD207 at aol.com
Sat Jan 15 16:30:30 CET 2011


On 01/14/11 14:38, Torsten Bonde Christiansen wrote:
> Hi List.
> 
> Is it possible to jump a couple of levels in the inherited hierarchy
> when calling "inherited" on a method?
> 
> A small example of what i'm trying to achieve below (and don't mind the
> incomplete TB class implementation).
> 
> Kind regards,
> Torsten Bonde Christiansen.
> 
> ============================
> 
> TA = class
>   procedure DoSomething; virtual;
> end;
> 
> TB = class(TA)
>   procedure DoSomething; override;
> end;
> 
> TC = class(TB)
>   procedure DoSomething; override;
> end;
> 
> .....
> 
> procedure TA.DoSomething;
> begin
>   ...
> end;
> 
> procedure TC.DoSomething;
> begin
>   inherited TA.DoSomething;  // This is not correct, but exemplifies
> what i'm trying to achieve.
> end;
> 

I *think* I've done this before this way but test it to make sure it works:

procedure TC.DoSomething:
begin
 (Self as TA).DoSomething;
end;

Regards,

Andrew



More information about the fpc-pascal mailing list