delphi – 为什么在类和类型单元中声明像“Point”“Rect”“Bounds”(等)这样的函数?

delphi – 为什么在类和类型单元中声明像“Point”“Rect”“Bounds”(等)这样的函数?,第1张

概述我注意到在Delphi 7中,Point / Rect / Bounds(等)之类的函数在Classes和System Types单元中声明和实现. 这有什么理由吗?对于较新的Delphi版本也是如此吗? (我的猜测是,可以使用Types单元来避免需要时的类开销) 在旧版本中,这些类型和函数在类中声明.随着RTL的开发,特别是为了支持跨平台,期望这些类型可用于不包含类的单元. 引入了类型单元以实现 我注意到在Delphi 7中,Point / Rect / Bounds(等)之类的函数在Classes和System Types单元中声明和实现.

这有什么理由吗?对于较新的Delphi版本也是如此吗?

(我的猜测是,可以使用Types单元来避免需要时的类开销)

解决方法 在旧版本中,这些类型和函数在类中声明.随着RTL的开发,特别是为了支持跨平台,期望这些类型可用于不包含类的单元.

引入了类型单元以实现这一目标.类型单元没有使用依赖性,因此可以安全地被任何其他单元使用,无论级别有多低.

主声明被移动到Types,并且Classes重新导出这些类型和函数,以利于从Classes导入的现有代码.因此,例如,SysUtils使用Types,但不允许使用Classes.将这些类型和函数移动到像Types这样的无依赖单元可以实现这一点.

这一变化是在Delphi 5和Delphi 6之间进行的,这是Delphi跨平台开发的开始.在那种情况下,它是Kylix,但即使Kylix被放弃,RTL的重组也有利于未来的跨平台发展.

总结

以上是内存溢出为你收集整理的delphi – 为什么在类和类型单元中声明像“Point”/“Rect”/“Bounds”(等)这样的函数?全部内容,希望文章能够帮你解决delphi – 为什么在类和类型单元中声明像“Point”/“Rect”/“Bounds”(等)这样的函数?所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/langs/1216708.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-06-05
下一篇 2022-06-05

发表评论

登录后才能评论

评论列表(0条)

保存