Unit one;

INTERFACE

TYPE
  RRtype = (rr_zero,rr_one,rr_two,rr_three,rr_four);
  OneObj = OBJECT
    a  : Integer;
    procedure aaa(r : RRType);
  end;

procedure aaa;

IMPLEMENTATION

procedure OneObj.aaa(r : RRType);
begin
  if r = rr_one then writeln ('OK') else writeln ('failed')
end;

procedure aaa;
begin
end;

END.

{--------------------------------------------}
unit two;

interface

uses one;

type
  TwoObj = OBJECT
    MyOne : OneObj;
    procedure bbb(r : RRType);
  end;

implementation

procedure TwoObj.bbb(r : RRtype);
begin
  MyOne.aaa(r);
end;

end.

{-----------------------------------------------------------------}

program russell2;

uses one,two;

var
  MyTwo : TwoObj;

begin
  MyTwo.bbb(rr_one);
end.
