如果我尝试在事件处理程序上使用闭包,编译器会抱怨:
不兼容的类型:“方法指针和常规过程”
我明白了..但是有没有办法在方法指针上使用clouser?并且如何定义是否可以?
例如:
Button1.Onclick = procedure( sender : tobject ) begin ... end;
谢谢!
解决方法
@Button1.OnClick := pPointer(Cardinal(pPointer( procedure (sender: tObject) begin ((sender as TButton).Owner as TForm).Caption := 'Freedom to anonymous methods!' end )^ ) + $0C)^;
works在德尔福2010