报错代码:
[错误] Unit1.pas(41): Incompatible types: 'method pointer and regular procedure'
[致命错误] Project1.dpr(5): Could not compile used unit 'Unit1.pas'
正确书写:
i1Click只是个普通的方法,要给Onclick赋值的时候接受的要是TNofifyEvent方法才行。
你的i1Click方法要这样声明:
TForm1=class(TForm)
private
procedure i1Click(Sender:TObject); //把方法放在某个类里
end;
implementation
procedure TForm1.i1Click(Sender: TObject);
begin
showmessage( 'dddd ');
end;
新手看了以上的代码,应该看不出来,只有实战了才知道。据我经验总结一下:
首先 自定义一个过程,过程名称可以随便写,但是 关键来了,该过程的参数都要与原事件的一致,否则,无论自定义的程序怎么声明,放到哪里都会出错。
例如:按钮单击事件:
这是原事件,procedure TForm1.btn1Click(Sender: TObject);
这是自定义事件,procedure TForm1.i1Click(Sender: TObject); //后面带的参数都是一样的。
其实这些对于基础好的,都不是问题。不过,我本人劲懒,不爱看书。拼命的抄,写,再写,再抄,不懂百度,不懂谷歌,搜完再搜,一搜再搜。。。。
高手的行列里什么时候才有我呢?~~~~~~~~