Lazarus中指定将控件的事件与delphi的区别
2011-06-10 16:31
585 查看
在Delphi中,我们可以将一个函数赋值给一个控件的事件,比如:
procedure TForm1.btnClick(Sender: TObject);
begin
//..........
end;
procedure TForm1.FormCreate(Sender: TObject);
begin
Button1.OnClick := btnClick;
end;
但是,在Lazarus中,我们如果用同样的方法,在编译时就会出现一个错误提示:
Error: Wrong number of parameters specified for call to "btnClick"
造成这个现象的原因是FPC编译器和Delphi的编译器之间的差异。解决的方法也很简单,使用"@"这个操作符,即在Lazarus中,需要使用下面的表达方法:
Button1.OnClick := @btnClick;
procedure TForm1.btnClick(Sender: TObject);
begin
//..........
end;
procedure TForm1.FormCreate(Sender: TObject);
begin
Button1.OnClick := btnClick;
end;
但是,在Lazarus中,我们如果用同样的方法,在编译时就会出现一个错误提示:
Error: Wrong number of parameters specified for call to "btnClick"
造成这个现象的原因是FPC编译器和Delphi的编译器之间的差异。解决的方法也很简单,使用"@"这个操作符,即在Lazarus中,需要使用下面的表达方法:
Button1.OnClick := @btnClick;
相关文章推荐
- Delphi 给窗体上面所有的控件都挂上一个事件处理过程华软源码
- input text控件的onkeydown、onKeyPress、onkeyup事件的区别
- html,html服务器控件,asp。net服务器控件 区别,以及 onclick ,onserverclick ,onclientclick 事件....
- Delphi 代码创建控件与事件动态绑定
- 给动态创建的控件指定事件
- 指定事件处理函数时的加不加()的区别
- 通过消息拦截达到在Delphi控件中屏蔽原有事件处理的一种方法
- 【iOS开发-46】利用UIButton和UIImageView的区别分辨哪些控件有addTarget监听事件这个方法
- Delphi TControl 类(ClientWidth和Width区别)(SetEditMode控件是否可见)
- [转]Delphi 控件属性和事件
- 清除某控件已绑定的指定名称的事件
- delphi控件属性和事件
- delphi Socket通信的控件使用和API使用的区别
- 删除指定控件的指定事件
- Qt事件机制浅析(定义,产生,异步事件循环,转发,与信号的区别。感觉QT事件与Delphi的事件一致,而信号则与Windows消息一致)
- C#中控件Control的Paint事件和OnPaint虚函数的区别
- Input 控件的Onchange 与onBlur 事件区别
- Delphi FastReport动态向指定控件填入内容
- delphi控件属性和事件
- Timer 控件中的Elapsed事件与tick事件的区别