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

Jorge Aldo G. de F. Junior jagfj80 at gmail.com
Sat Jan 15 16:45:08 CET 2011


does inherited inherited work ?

as in

procedure TD.DoSomething;
Begin
  Inherited Inherited DoOtherthing;
End;

2011/1/15 Andrew Haines <AndrewD207 at aol.com>:
> 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
> _______________________________________________
> fpc-pascal maillist  -  fpc-pascal at lists.freepascal.org
> http://lists.freepascal.org/mailman/listinfo/fpc-pascal
>



More information about the fpc-pascal mailing list