Я читаю RAD Studio Documentaion в Delphi XE. вот несколько текстов.
[Справочник по Delphi → Руководство по языку Delphi → Программы и юниты → Использование пространств имен → Поиск пространств имен → Многомерные пространства имен]
Многопользовательские пространства имен
Несколько единиц могут принадлежать к одному и тому же пространству имен, если объявления единиц относятся к одному и тому же пространству имен. Например, можно создать два файла: unit1.pas и unit2.pas со следующими объявлениями блока:
// in file 'unit1.pas'
unit MyCompany.ProjectX.ProgramY.Unit1
// in file 'unit2.pas'
unit MyCompany.ProjectX.ProgramY.Unit2
В этом примере пространство имен MyCompany.ProjectX.ProgramY логически содержит все символы интерфейса из unit1.pas и unit2.pas.
Имена символов в пространстве имен должны быть уникальными для всех единиц пространства имен.
В приведенном выше примере ошибка для Unit1 и Unit2 заключается в определении глобального символа интерфейса с именем mySymbol
Я протестировал это. кода ниже.
-----------------------------------------------------------------
program Project1;
{$APPTYPE CONSOLE}
uses
SysUtils,
Lib.A in 'Lib.A.pas',
Lib.B in 'Lib.B.pas';
begin
WriteLn ( TestValue ) ;
ReadLn ;
end.
-----------------------------------------------------------------
unit Lib.A;
interface
const TestValue : Integer = 10 ;
implementation
end.
-----------------------------------------------------------------
unit Lib.B;
interface
const TestValue : Integer = 10 ;
implementation
end.
Это не ошибка. Зачем? Я не понимаю.