unit Unit2;interfaceuses
SysUtils,classes,QControls,ExtCtrls,Dialogs;
type
myShape=class(Tshape)
    public
        name:String;
        id:integer;
        describe:String;
     procedure SeeInfo();
        constructor Create(parName:String; parId:integer; parDescribe:String; owner:TComponent);
procedure myShapeMouseDown(Sender: TObject; Button: TMouseButton;
  Shift: TShiftState; X, Y: Integer);
    end;implementationprocedure myShape.SeeInfo();
begin
showMessage('name:'+name+#13+'id:'+intToStr(id)+#13+'describe:'+describe);
end;constructor myShape.Create(parName:String; parId:integer; parDescribe:String; owner:TComponent);
begin
    inherited create(Owner);
    name:=parName;
    id:=parId;
    describe:=describe;
    onMousedown:= myShapeMouseDown;
end;
   {====================================================================}
   {         上面一行出错,提示信息如下:                               }
   {Incompatible types: 'Controls.TMouseButton' and 'Unit2.TMouseButton'}
   {====================================================================}procedure myShape.myShapeMouseDown(Sender: TObject; Button: TMouseButton;
  Shift: TShiftState; X, Y: Integer);
begin
SeeInfo();
end;end.

解决方案 »

  1.   

    {不好意思代码太乱了,下面是整理过的}
    unit Unit2;interfaceuses
      SysUtils,classes,QControls,ExtCtrls,Dialogs;type
      myShape=class(Tshape)
      public
        name:String;
        id:integer;
        describe:String;
        procedure SeeInfo();
        constructor Create(parName:String; parId:integer;
                           parDescribe:String; owner:TComponent);
        procedure myShapeMouseDown(Sender: TObject; Button: TMouseButton;
                           Shift: TShiftState; X, Y: Integer);
      end;implementationprocedure myShape.SeeInfo();
    begin
      showMessage('name:'+name+#13+'id:'+intToStr(id)+#13+'describe:'+describe);
    end;constructor myShape.Create(parName:String; parId:integer;
                           parDescribe:String; owner:TComponent);
    begin
      inherited create(Owner);
      name:=parName;
      id:=parId;
      describe:=describe;
      onMousedown:= myShapeMouseDown;
      {====================================================================}
      {         上面一行出错,提示信息如下:                               }
      {Incompatible types: 'Controls.TMouseButton' and 'Unit2.TMouseButton'}
      {====================================================================}
    end;procedure myShape.myShapeMouseDown(Sender: TObject; Button: TMouseButton;
                           Shift: TShiftState; X, Y: Integer);
    begin
      SeeInfo();
    end;end.
      

  2.   

    uses
      SysUtils,classes,QControls,ExtCtrls,Dialogs;
     
    可能是你用了 QControls ,要换成 Controls
      

  3.   

    类型不匹配:
    QControls 是 Kylix 版本的单元。
      

  4.   

    多谢,通过了。的确正如楼上的fancier(OP&&(C/C++)) 所言