Rect函数以两个单元声明:
System.Classes.Rect
System.Types.Rect
为什么会出现这种歧义?这些功能之一是否已弃用?应该首选哪一个?
Rect函数以两个单元声明:
System.Classes.Rect
System.Types.Rect
为什么会出现这种歧义?这些功能之一是否已弃用?应该首选哪一个?
从文档中,System.Types.Rect
为矩形的四个角取整数值;System.Classes.Rect
另一方面,它还提供了一个需要两个TPoint
s 的重载 - 一个用于左上角,一个用于右下角。两者都返回 aTRect
所以这实际上是您使用的选择问题。
后者更灵活(提供两个重载),因此最好确保在您的 uses 子句中包含Classes
after Types
(如果同时使用两者),以免隐藏Classes
.
如果您要Rect
在紧密循环中调用(不执行 I/O 或类似操作),请考虑调用types.Rect
,这才是classes.Rect
真正的;它调用types.Rect
(但你可能需要内联你自己的 Rect ......)。否则没关系,我不会费心在'uses'中包含'types'只是为了保存一个间接级别。