delphi - OnMessage 事件处理程序与文档不同 - 为什么?
问题描述
Delphi 文档定义为which 定义TApplication.OnMessage Event
为TMessageEvent
procedure (var Msg: TMsg; var Handled: Boolean) of object;
但是,当在 Delphi 10.4 中双击对象检查器中的OnMessage
字段ApplicationEvents1
以插入OnMessage
事件处理程序时,我得到以下代码:
procedure TformMain.ApplicationEvents1Message(var Msg: tagMSG; var Handled: Boolean);
begin
end;
你注意到 和 之间的区别了TMsg
吗tagMSG
?这是一个BUG吗?
解决方案
在过去(大约 1996 年),Delphi 曾经与 WIN32.HLP 一起提供,当时文件大小约为 20 MiB,并且是查找内容的参考。但是所有的解释、定义和示例都是用 C++ 编写的,这给 Pascal 开发人员增加了另一层负担。如果现在的事情让你感到恼火,你可能在 20 多年前就已经迷失了 - 为相同的类型混合不同的名称在当时已经是一件事了。
http://laurencejackson.com/win32/有一个带有截图的 CHM 版本;当您长时间离线时,它仍然是一个有价值的文件。
推荐阅读
- jquery - 如何获取表格单元格中的输入值
- javascript - 如何用 laravel 实现 vue3 ssr?(V8Js::compileString():15132: TypeError: Cannot read property 'render' of undefined)
- c# - 即使两个对象相同,C# Net.Core Object.Equals() 也会返回 false
- javascript - 是的验证——确保一个数组至少包含一项
- google-sheets - 从引用的单元格更改单元格时,如何突出显示该单元格?
- content-management-system - Prestashop 1.7:使用 CMS 页面作为主页
- laravel - 在 Laravel Cashier-stripe 上动态更改货币
- javascript - 如果定义了元素,为什么我会得到 elem is not defined 错误?
- push-notification - 如何使 api 消息事件仅发送到 PUSHER 中的活动通道
- ajax - Firefox 浏览器中的阻止状态发送已更改的数据表单输入文件