请各位大虾看看这个单元有什么问题?为什么出错。

twfldy 2003-03-11 05:18:59
unit Unit2;

interface

uses
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;

implementation

procedure 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.
...全文
31 4 打赏 收藏 转发到动态 举报
写回复
用AI写文章
4 条回复
切换为时间正序
请发表友善的回复…
发表回复
twfldy 2003-03-11
  • 打赏
  • 举报
回复
多谢,通过了。的确正如楼上的fancier(OP&&(C/C++)) 所言
fancier 2003-03-11
  • 打赏
  • 举报
回复
类型不匹配:
QControls 是 Kylix 版本的单元。
fancier 2003-03-11
  • 打赏
  • 举报
回复
uses
SysUtils,classes,QControls,ExtCtrls,Dialogs;

可能是你用了 QControls ,要换成 Controls
twfldy 2003-03-11
  • 打赏
  • 举报
回复
{不好意思代码太乱了,下面是整理过的}
unit Unit2;

interface

uses
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;

implementation

procedure 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.

5,386

社区成员

发帖
与我相关
我的任务
社区描述
Delphi 开发及应用
社区管理员
  • VCL组件开发及应用社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧