Delphi TButton.OnClick 匿名函数用法(无聊转转)
1 type 2 TNotifyEventRef = reference to procedure(Sender: TObject); 3 4 function AnonymousEvent(const Proc: TNotifyEventRef): TNotifyEvent; 5 type 6 TVtable = array[0..3] of Pointer; 7 PVtable = ^TVtable; 8 PPVtable = ^PVtable; 9 begin 10 TMethod(Result).Code := PPVtable((@Proc)^)^^[3]; 11 TMethod(Result).Data := Pointer((@Proc)^); 12 end; 13 14 procedure TForm1.FormCreate(Sender: TObject); 15 begin 16 //变态写法 17 @Button1.OnClick := PPointer(Cardinal(PPointer( 18 procedure(Sender: TObject) 19 begin 20 ShowMessage('你好,人民币!'); 21 end)^) + $0C)^; 22 23 //正经写法 24 Button2.OnClick := AnonymousEvent( 25 procedure(Sender: TObject) 26 begin 27 ShowMessage('Hello,Money!'); 28 end); 29 end;
====Code is changing the world====
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 分享一个免费、快速、无限量使用的满血 DeepSeek R1 模型,支持深度思考和联网搜索!
· 使用C#创建一个MCP客户端
· ollama系列1:轻松3步本地部署deepseek,普通电脑可用
· 基于 Docker 搭建 FRP 内网穿透开源项目(很简单哒)
· 按钮权限的设计及实现