Все константы, переменные, типы, функции, процедуры, описанные в процедуре или функции, являются локальными и доступны только внутри этой подпрограммы или в её подпрограммах (процедурах и функциях).
Все константы, переменные, типы, функции, процедуры, описанные в родительской подпрограмме ранее, чем дочерняя подпрограмма, доступны дочерней подпрограмме. Для дочерней подпрограммы эти константы, переменные, типы, функции, процедуры являются глобальными.
Если модуль подключает к себе другой модуль, то константы, переменные, типы, функции, процедуры, описанные в разделе interface подключенного модуля доступны подпрограммам подключающего модуля. Переменные, типы, функции, процедуры, описанные в разделе implementation доступны только подпрограммам этого модуля.
Для организации перекрестного подключения модулей необходимо хотя бы одно подключение реализовать в разделе implementation.
Необходимо избегать использования глобальных переменных, т.к.:
q подпрограмма становится менее универсальной;
q возрастает вероятность недопустимого изменения глобальной переменной в подпрограмме.