Hi In Delphi the protected members are "visible anywhere in the module where its class is declared and from any descendant class, regardless of the module where the descendant class appears."
It seems that FPC 2.0 doesn't support that second part: "regardless of the module where the descendant class appears". For example, in this code, FPC does not see the "inherited TestProc(C)". It does see it if the base class is moved into the same file. Regards David <file fpctest.pas> Program Test1; uses fpctestunit1; type TestC = class(TestB) public procedure TestProc; override; procedure TestProc(const C: Integer); override; end; var X : TestC; procedure TestC.TestProc; begin inherited TestProc; end; procedure TestC.TestProc(const C: Integer); begin inherited TestProc(C); end; begin X := TestC.Create; X.TestProc(10); X.Free; end. <file fpctestunit1.pas> unit fpctestunit1; interface type TestA = class protected procedure TestProc; overload; virtual; procedure TestProc(const C: Integer); overload; virtual; end; TestB = class(TestA) public procedure TestProc; override; end; implementation procedure TestA.TestProc; begin end; procedure TestA.TestProc(const C: Integer); begin end; procedure TestB.TestProc; begin end; end. _______________________________________________ fpc-devel maillist - fpc-devel@lists.freepascal.org http://lists.freepascal.org/mailman/listinfo/fpc-devel