Delphi中incompatible types: 'TNotifyEvent' and 'Pointer'的问题

varb:TButton;Form1:TForm;implementation{$R*.dfm}procedureButtonClick(Sender:TButton);... var
b: TButton;
Form1: TForm;
implementation
{$R *.dfm}
procedure ButtonClick(Sender: TButton);
begin
ShowMessage(Sender.Name);
end;
begin
b := TButton.Create(Form1);
b.Parent := Form1;
b.OnClick := @ButtonClick; // same as b.OnClick := 'ButtonClick'(此处提示错误)
b.OnClick := nil; // clear the event

错误提示:incompatible types: 'TNotifyEvent' and 'Pointer'

求解决~~~~~~~~~~~~
展开
 我来答
sirouszlh
2013-03-20 · TA获得超过1651个赞
知道小有建树答主
回答量:1038
采纳率:100%
帮助的人:628万
展开全部
b.OnClick := ButtonClick;
就岩粗可以了粗拿镇

另外
procedure ButtonClick(Sender: TButton);

改为敏粗
procedure ButtonClick(Sender: TObject);

ShowMessage(Sender.Name);

改为
ShowMessage(Tbutton(Sender).Name);
追问
不行呀  还是错的!
追答
没错误的  
我编译通过的
你的代码放的位置有问题吧 给你完整代码
你看看你的代码位置错误在哪儿

unit Unit1;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, StdCtrls;

type
TForm1 = class(TForm)
procedure FormCreate(Sender: TObject);
private
{ Private declarations }
public
procedure ButtonClick(Sender: TObject);
{ Public declarations }
end;

var
Form1: TForm1;
b: TButton;
implementation

{$R *.dfm}
procedure TForm1.ButtonClick(Sender: TObject);
begin
ShowMessage(Tbutton(Sender).Name);
end;

procedure TForm1.FormCreate(Sender: TObject);
begin
b := TButton.Create(Form1);
b.Parent := Form1;
b.Name:='sert';
b.Caption:='test';
b.OnClick := ButtonClick;
end;

end.
威孚半导体技术
2024-08-19 广告
威孚(苏州)半导体技术有限公司是一家专注生产、研发、销售晶圆传输设备整机模块(EFEM/SORTER)及核心零部件的高科技半导体公司。公司核心团队均拥有多年半导体行业从业经验,其中技术团队成员博士、硕士学历占比80%以上,依托丰富的软件底层... 点击进入详情页
本回答由威孚半导体技术提供
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式