Есть такой список файлов:
Main.pas,
Unit1.pas,
Unit2.pas,
Config.pasunit Unit1;
var ua: integer;
initialization
ua := 123;
end.
unit Config;
implementation
uses Unit1, Unit2;
end.
Если делать так:
program Main;
uses Unit1;
var a: integer;
begin
//используем переменную из Unit1
a := ua;
end.
то
ua будет видна, а если так:
program Main;
uses Config;
var a: integer;
begin
//используем переменную из Unit1
a := ua;
end.
то компилятор не обнаружит её. Мне почему-то казалось, что такой трюк сработает, когда разные юниты можно объединять в несколько групп по смыслу и потом подключать в основной программе. Есть ли в этом зерно рациональности или мне надо выспаться?

__________________