Структура проекту Lazarus
Інтерфейси програм Delphi і Lazarus багато в чому дуже схожі, тому всі приклади (як середовище розробника, так і програмний код) надаватимуть у системі Delphi (версія 7). Середовище Lazarus має деякі недоліки при написанні програмного коду, про які повідомлятиметься в міру вивчення предмета. Інтерфейсні елементи середовища розробника найкраще розглядати, якщо створити новий проект. Для цього в основному меню слід вибрати пункт "File" та у списку вибрати опцію "New Application". Середовище розробника на Delphi має прийняти вигляд, показаний малюнку.
Будь-який проект в Lazarus-це сукупність файлів, з яких створюється єдиний виконуваний файл. У найпростішому випадку список файлів проекту має вигляд:
файл опису проекту (.lpi); файл проекту (.lpr); файл ресурсів(.lrs); модуль форми(.lfm); програмний модуль(.pas);
Після компіляції програми з усіх файлів проекту створюється єдиний файл, що виконується з розширенням .exe, ім'я цього файлу збігається з ім'ям проекту.
Програмний модуль, або просто модуль — це окремо компілювана програмна одиниця, яка є набором типів даних, констант, змінних, процедур і функцій. Будь-який модуль має таку структуру:unit ім'я_модуля; // Заголовокмодуля.
interface // Розділописів.
implementation // Розділреалізацій.
end. // Кінецьмодуля.
Заголовок модуля - це зарезервоване словоunit, за яким слідує ім'я модуля та точка з комою. У розділі описів, який відкривається службовим словомinterface, описують програмні елементи — типи, класи, процедури та функції:
interface uses список модулів; typeсписок_типів; const список_констант; var список змінних; procedure ім'я_процедури; . function имя_функции; .
Розділ implementation містить програмний код, що реалізує механізм роботи описаних програмних елементів (текстипроцедур обробки подій, процедури та функції, створені програмістом). Процедури і функції в Lazarus також побудовані за модульним принципом.
Розмір файлу, що виконується в Lazarus.
У Lazarus якщо додати пакет або помістити на форму компонент із нестандартного пакета, то автоматично до файлу (.lpr) додадуться модулі даного проекту. За промовчанням файл lpr не відкритий, якщо ви хочете відредагувати цей файл, його необхідно спочатку відкрити (меню Проект/Переглянути вихідний файл проекту).
Необхідними модулями є interface,forms і модуль вашої форми всі інші можете (якщо звичайно вони не використовуються безпосередньо в lpr) видаляти. Нижче наведено приклад стандартного файлу проекту з однією формою.
begin Application.Initialize; Application.CreateForm(TForm1, Form1); Application.Run; end.
Цим ви можете заощадити до декількох мегабайтів, якщо ви використовуєте великі пакети, такі як GLScene.
Ця поведінка характерна для бібліотек, які використовують велику кількість коду в розділах ініціалізації модулів. Зауважу, що немає різниці в тому, де ці модулі використовуються, будь то файл проекту або звичайний файл модуля. Звичайно ж, smartlink намагається позбутися модулів, що не використовуються, але з викладених вище причин це не завжди закінчується видаленням невикористовується коду.