我想知道Delphi中是否有一种方法可以为表单控件事件分配匿名方法。
例如:
Button1.OnClick := procedure (Sender: TObject) begin ShowMessage('') end;
当然这给了我一个错误
[dcc32错误] Control.Controller.pas(51):E2009不兼容的类型:'方法指针和常规程序'
这是因为该方法必须属于一个对象,但它不再是匿名的。
也许有一些解决方法
答案 0 :(得分:12)
这是不可能的。您必须使事件处理程序成为方法类型而不是匿名方法。
您需要将匿名方法包装在方法中。实例方法(记录或类)或类方法。例如: