作者:唐吉诃德 | 来源:互联网 | 2022-10-12 10:28
在Delphi XE3中,似乎可以使用“ System.SysUtils”或“ SysUtils”,“ Vcl.FileCtrl”或“ FileCtrl”。
我在http://docs.embarcadero.com/products/rad_studio/delphiAndcpp2009/HelpUpdate2/EN/html/devcommon/usingnamespaces_xml.html中阅读了这篇文章,似乎前者称为全限定名称空间,而后者是通用名称。 。但是如果我理解正确的话,应该添加如下语句:
在使用这些命名空间下的单元之前,请先使用“ Uses System,Vcl”。但是我检查了代码,但是找不到任何“ Uses System”或“ Uses vcl”。为什么?
1> Remy Lebeau..:
您正在阅读旧的文档,并且仍然阅读错误的主题。
System
而Vcl
在这方面实际上是单位范围的名称,这是类似的,但来自完全不同的命名空间。XE2中引入了单位作用域名称,以允许VCL和FMX共享不同作用域(Vcl.Forms
vs FMX.Forms
等)下的通用单位名称。现有的VCL代码迁移到FMX没有(主要)需要重新编写的,它可能use
只是Forms
等,并奇迹般地拿起正确的范围根据项目类型。命名空间不能使用相同的功能。
您不必uses
在代码中的语句中明确指定单位作用域名称的原因是,因为它们是在项目级别配置的,并且默认情况下,大多数VCL项目都预先配置了System
和Vcl
作用域名称。
所以,当你use
只是SysUtils
,FileCtrl
等在你的代码,编译器检查他们对项目的单位范围的名称,并最终认定System.SysUtils
,Vcl.FileCtrl
等等。