在Delphi XE3中,似乎可以使用“System.SysUtils”或“SysUtils”,“Vcl.FileCtrl”或“FileCtrl”。
我读过这篇文章http://docs.embarcadero.com/products/rad_studio/delphiAndcpp2009/HelpUpdate2/EN/html/devcommon/usingnamespaces_xml.html http://docs.embarcadero.com/products/rad_studio/delphiAndcpp2009/HelpUpdate2/EN/html/devcommon/usingnamespaces_xml.html,似乎前者称为完全限定名称空间,而后者是通用名称。但如果我理解正确的话,应该添加如下语句:
“使用系统,Vcl”,然后才能使用这些命名空间下的单元。但我检查代码但找不到任何“使用系统”或“使用 vcl”。为什么?
您正在阅读旧文档,并且无论如何都读错了主题。
System
and Vcl
在这种情况下实际上是单元范围名称 http://docwiki.embarcadero.com/RADStudio/en/Unit_Scope_Names, 哪个是similar到,但完全不同于,命名空间 http://docwiki.embarcadero.com/RADStudio/en/Using_Namespaces_with_Delphi。 XE2中引入了单元范围名称,以允许VCL和FMX在不同范围下共享通用单元名称(Vcl.Forms
vs FMX.Forms
, ETC)。迁移到 FMX 的现有 VCL 代码不需要(很大程度上)重新编写,它可以use
just Forms
等以及神奇地根据项目类型选择正确的范围。这同样不适用于命名空间。
您不必在中显式指定单元范围名称的原因uses
代码中的语句是因为它们是在项目级别配置的,并且默认情况下大多数 VCL 项目都有System
and Vcl
预先配置的范围名称。
所以,当你use
just SysUtils
, FileCtrl
等等,编译器会根据项目的单元范围名称检查它们,并最终找到System.SysUtils
, Vcl.FileCtrl
, etc.
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)