我想知道 Delphi 中是否有一种方法可以将匿名方法分配给表单控件事件。
例如:
Button1.OnClick := procedure (Sender: TObject) begin ShowMessage('') end;
当然这给了我一个错误
[dcc32 Error] Control.Controller.pas(51): E2009 Incompatible types: 'method pointer and regular procedure'
这是因为该方法必须属于一个对象,但这样它就不再是匿名的了。
也许有一些解决办法
最佳答案
这是不可能的。您必须使事件处理程序成为方法类型而不是匿名方法。
您需要将匿名方法包装在方法中。实例方法(记录或类的)或类方法。例如:
关于delphi - Delphi中有没有办法为按钮事件分配匿名方法?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25500770/