Вы читаете старую документацию и все равно читаете не ту тему.
System
и Vcl
в этом контексте на самом деле Имена областей применения , которые похожи до, но весьма отличается от Пространства имен . Имена областей применения были введены в XE2, чтобы позволить VCL и FMX совместно использовать общие имена устройств в различных областях (Vcl.Forms
против FMX.Forms
и т. Д.). Существующий код VCL, перенесенный в FMX, (в основном) не нужно переписывать, он может use
просто Forms
и т. Д. И волшебным образом подобрать правильную область действия в зависимости от типа проекта. То же самое не работает с пространствами имен.
Причина, по которой вам не нужно явно указывать имена областей применения в операторах uses
в коде, заключается в том, что они настроены на уровне проекта, а по умолчанию большинство VCLПроекты имеют предварительно настроенные имена областей действия System
и Vcl
.
Итак, когда вы use
просто SysUtils
, FileCtrl
и т. д. в своем коде, компилятор проверяет их по модулю проектаИмена областей и в конечном итоге находит System.SysUtils
, Vcl.FileCtrl
и т. Д.