sender有关问题

sender问题

我下面的代码有误,谁能帮我找一下,并改正。错误提示是说(Sender:   TObject)有误,我不知道为什么。
type
    TForm1   =   class(TForm)
        Panel1:   TPanel;
        BitBtn1:   TBitBtn;
        BitBtn2:   TBitBtn;
        BitBtn3:   TBitBtn;
        BitBtn4:   TBitBtn;
        BitBtn5:   TBitBtn;
        BitBtn6:   TBitBtn;
        procedure   BitBtn1Click(Sender:   TObject);
        procedure   BitBtn2Click(Sender:   TObject);
        procedure   BitBtn3Click(Sender:   TObject);
        procedure   BitBtn4Click(Sender:   TObject);
        procedure   BitBtn5Click(Sender:   TObject);
        procedure   BitBtn6Click(Sender:   TObject);
     
    private
        {   Private   declarations   }
    public
        {   Public   declarations   }
          function   getpcolor(Sender:   TObject):TColor;
          procedure   procbitbtn   (Sender:   TObject);
    end;

var
    Form1:   TForm1;

implementation

{$R   *.dfm}
  function   TForm1.getpcolor(Sender:   TObject):TColor;
  var
    bn:TBitBtn;
  begin
      bn:=   Sender   as       TBitBtn;
      result:=bn.Glyph.Canvas.Pixels[20,20];
  end;
  procedure   TForm1.procbitbtn   (Sender:   TObject);
  begin
      Panel1.color:=getpcolor(Sender);
  end;

procedure   TForm1.BitBtn1Click(Sender:   TObject);
begin
    TForm1.procbitbtn   (Sender:   TObject);
end;

procedure   TForm1.BitBtn2Click(Sender:   TObject);
begin
  TForm1.procbitbtn   (Sender:   TObject);
end;

procedure   TForm1.BitBtn3Click(Sender:   TObject);
begin
    TForm1.   procbitbtn   (Sender:   TObject);
end;

procedure   TForm1.BitBtn4Click(Sender:   TObject);
begin
    TForm1.procbitbtn   (Sender:   TObject);
end;

procedure   TForm1.BitBtn5Click(Sender:   TObject);
begin
    TForm1.procbitbtn   (Sender:   TObject);
end;

procedure   TForm1.BitBtn6Click(Sender:   TObject);
begin
    TForm1.procbitbtn   (Sender:   TObject);
end;

end.

------解决方案--------------------
TForm1.procbitbtn (Sender: TObject);

改为
procbitbtn (Sender);