Delphi中有没有办法为按钮事件分配匿名方法?

时间:2014-08-26 07:58:12

标签: delphi events anonymous-function

我想知道Delphi中是否有一种方法可以为表单控件事件分配匿名方法。

例如:

Button1.OnClick := procedure (Sender: TObject) begin ShowMessage('') end;

当然这给了我一个错误

  

[dcc32错误] Control.Controller.pas(51):E2009不兼容的类型:'方法指针和常规程序'

这是因为该方法必须属于一个对象,但它不再是匿名的。

也许有一些解决方法

1 个答案:

答案 0 :(得分:12)

这是不可能的。您必须使事件处理程序成为方法类型而不是匿名方法。

您需要将匿名方法包装在方法中。实例方法(记录或类)或类方法。例如: