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

标签 delphi events anonymous-function

我想知道 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/

相关文章:

PHP:如何实现事件处理器?

PHP use() 作用域函数?

javascript - JS : truly secret vars (for securely submitting a score)

javascript 匿名函数求值习语

string - 简单的字符串哈希函数

c++ - HTTP 隧道示例

delphi - 如何继承泛型虚方法?

javascript - 如何阻止 javascript 事件冒泡?

events - 如何让 nodejs 服务器监听 AWS SQS?

windows - 如何使用 Delphi 在 Windows 中从 USB 驱动器挂载分区?