що містить відпрацьовані особливим чином підготовлені класи (компоненти вікон, баз даних, що не відображаються об'єкти і т.д.), які можна використовувати як ціле в програмі, а також файли, розташовані в архіві об'єктів (Object Repository), що представляють собою різні проекти (точніше, заготовки проектів) та форми. Програма у своїй роботі може також використовувати різні файли (текстові і нетекстові), в яких розміщуються різні дані.
Сама структура програми, що використовує об'єктне програмування, і особливо механізм обробки подій, які присутні при створенні програм в Delphi, істотно відрізняється від традиційної структури програми з жорстким, заздалегідь заданим алгоритмом. Тут програма скоріше виглядає як сукупність в деякому розумінні самостійних, відокремлених блоків, виконують ті чи інші операції, а зв'язок між ними і будь-який наступний хід виконання програми визначаються результатами попередніх етапів і взаємодією програми через зовнішні пристрої з користувачем.
Цикл роботи програми в цьому випадку виглядає наступним чином. Виконується якась самостійна частина програми (наприклад, ініціалізація), після чого виконання програми припиняється і вона очікує якоїсь реакції або від операційної системи, або від користувача через засоби введення інформації (наприклад, через клавіатуру або за допомогою маніпулювання мишею). Ця реакція є особливим чином оформлену інформацію - повідомлення, що містить відомості про вид реакції (наприклад, натискання клавіші миші або відпускання клавіші клавіатури) та інформацію, уточнюючу цю реакцію (наприклад, яка клавіша миші натиснута і які координати у курсору миші при натисканні клавіші ). Повідомлення через операційну систему Windows передається програмі. Програма повинна відреагувати на те або інше повідомлення подією, яка обробить передану інформацію, причому обробити цю інформацію можуть різні елементи програми: і конкретне вікно (форма) цієї програми, і той чи інший компонент будь-якого вікна. Для того щоб якийсь елемент програми обробив інформацію, йому слід написати спеціальну підпрограму - обробник подій, причому таких обробників може бути і не один, якщо елемент повинен обробляти різні повідомлення. Для багатьох стандартних повідомлень заздалегідь визначено, яка в обробник подій передається інформація і як він повинен називатися, чого цілком достатньо для написання цього обробника. Програміст може використовувати передану інформацію, щоб визначити подальші дії програми. Саме тут запускається наступна частина програми, яка в свою чергу відпрацює, а програма знову чекатиме наступного повідомлення. Написання обробників подій є однією з головних завдань при створенні програми. Багато повідомлень, особливо від операційної системи, обробляються програмою автоматично на рівні самого додатка (наприклад, повідомлення про необхідність перемальовування тих чи інших зображень), і немає потреби про них піклуватися. У Delphi для ряду операцій, зокрема по створенню інтерфейсних елементів, використовуються так звані експерти. Експерти являють собою діалогові вікна (послідовності діалогових вікон), за допомогою яких задаються властивості створюваного об'єкта. Вони дозволяють швидко визначити параметри об'єкта з деякого набору варіантів і наочно їх показати. Робота з експертом завершується створенням об'єкта на основі заданих йому властивостей. Ту ж задачу в будь-якому випадку можна виконати і програмним шляхом.
Будь-який додаток Delphi, працює з БД і написане з використанням стандартних компонент доступу до даних, звертається до даних і отримує результат за допомогою BDE, яка здійснює роль сполучної моста між програмою і БД. BDE бере на себе всю низкоуровневую роботу по забезпеченню клієнтської програми потрібними їй даними.
Інтерфейс прикладного програмування Delphi дозволяє створювати будь-які додатки для роботи з базами даних з найрізноманітнішими функціями. При цьому не має значення спосіб доступу до даних, оскільки BDE забезпечує зв'язок додатки з базою даних на рівні драйверів і псевдонімів [18] .не є частиною програми. Залежно від типу СУБД вона може розміщуватися на машині клієнта або сервера. Архітектура BDE заснована на драйверах, які забезпечують обмін даними з конкретними СУБД. До складу BDE включені стандартні драйвери, що забезпечують доступ до СУБД Paradox, dbase, FoxPro і текстовим файлам. Крім цього в BDE є дуже простий механізм підключення будь-яких драйверів ODBC (наприклад, Microsoft Access) [26].
Програма може використовувати низькорівневий інтерфейс функцій API BDE для безпосереднього звернення до даних, проте зазвичай між нею і BDE розташовується шар компонент, що істотно спрощують розробку програм. Невізуальні компоненти здійснюють безпосередню роботу з BDE і три з них (Ttable, TQuery, TstorecProc) служать джерелами даних, в той час як візуальні компоненти відображають поставляються їм дані і служать для ...