користовується розділ Var основного програмного коду. При використанні глобальних змінних результат виконання модуля в значній мірі залежить від того, яким чином змінюються глобальні змінні в інших модулях. Некоректне використання глобальної змінної в одному з модулів, може викликати помилку в іншому модулі, использующем ту ж саму змінну. Таким чином, необгрунтоване використання глобальних змінних підвищує зв'язність модулів і знижує якість програми.
Під міцністю модуля розуміється міра зчеплення його елементів. Сильне зчеплення припускає, що виключення будь-якого з елементів порушує ланцюг перетворень та унеможливлює виконання функції.
Модульний принцип реалізований в програмному середовищі Delphi на різних рівнях. Зокрема, передбачається використання процедур і функцій.
Кожен модуль має жорстко задану структуру, яка зазвичай автоматично генерується системою Delphi при його створенні. Модуль складається з чотирьох частин: інтерфейсної частини, частини реалізації (обов'язкові частини), частини ініціалізації і частини завершення (необов'язкові частини) [8]. Спочатку вказується заголовок модуля - ключове слово Unit, за ним довільну назву модуля (воно має збігатися з назвою файлу, в якому модуль зберігається) і крапка з комою: TestUnit;
Інтерфейсна частина описує інформацію, яка доступна з інших частин програми: з інших модулів і головної частини. Частина реалізації описує інформацію, яка недоступна з інших модулів. Подібне розділення модуля на частини дозволяє створювати і поширювати модулі в відкомпілювався вигляді (розширення. DCU), прикладаючи до них тільки опис інтерфейсної частини (наявності вихідних текстів модуля, якщо є файл. DCU, не потрібно). При цьому внести зміни в такий модуль не можна, а вихідний код, який реалізує описані в інтерфейсній частині можливості, недоступний. Такий підхід, по-перше, дозволяє повторно використовувати раніше написані для інших програм і вже налагоджені модулі, по-друге, розмежовує доступ до модуля декількох програмістів, по-третє, дозволяє розбивати програму на набір логічно незалежних модулів.
Інтерфейсна частина завжди йде першою і починається з ключового слова interface, а частина реалізації починається з ключового слова implementation.
Після заголовків цих частин можна додатково вказати модулі, що підключаються до даного модулю, за допомогою ключового слова uses, за яким слідує список модулів через кому, а в кінці списку ставиться крапка з комою.
Частини ініціалізації і частини завершення необов'язкові. Зазначені в них дії виконуються, відповідно, на самому початку і в самому кінці роботи програми і тільки один раз.
Якщо модулів в програмі декілька, то послідовність виконання їх частин ініціалізації відповідає порядку їх опису в модулі, де вони підключаються за допомогою ключового слова uses, а послідовність виконання частин завершення їй протилежна.
Наприклад, є модулі А і В і в головній програмі вони підключаються так: A, B;
Першої виконається частина ініціалізації модуля A, а другий - частина ініціалізації модуля B. Коли програма завершить свою роботу, перша виконається завершальна частина модуля B, а друга - завершальна частина модуля A.
Частина ініціалізації починається з ключового слова initializa...