![]() ![]() Структура проекта LazarusИнтерфейсы программ Delphi и Lazarus во многом очень похожи, поэтому все примеры (как среда разработчика, так и программный код) будут даваться в системе Delphi (версия 7). Среда Lazarus имеет некоторые недостатки при написа- нии программного кода о которых будет сообщаться по мере изучения предмета. Интерфейсные элементы среды разработ- чика лучше всего рассматривать, если создать новый проект. Для этого в основ- ном меню следует выбрать пункт "File" и в списке выбрать опцию "New Application". Среда разработчика на Delphi должна принять вид, показанный на рисунке. Любой проект в Lazarus—это совокупность файлов, из которых создаётся единый выполняемый файл. В простейшем случае список файлов проекта имеет вид:
После компиляции программы из всех файлов проекта создаётся единый вы- полняемый файл с расширением .exe, имя этого файла совпадает с именем проекта.
Программный модуль, или просто модуль — это отдельно компилируемая про- граммная единица, которая представляет собой набор типов данных, констант, переменных, процедур и функций. Любой модуль имеет следующую структуру: unit имя_модуля; // Заголовокмодуля. interface // Разделописаний. implementation // Разделреализаций. end. // Конецмодуля. Заголовок модуля — это зарезервированное слово unit, за которым следует имя модуля и точка с запятой. В разделе описаний, который открывается слу- жебным словом interface, описывают программные элементы — типы, классы, процедуры и функции: interface Раздел implementation содержит программный код, реализующий механизм ра- боты описанных программных элементов (текстыпроцедур обработки событий, процедуры и функции, созданные программистом). Процедуры ифункции в Laza- rus так ж епостроены по модульному принципу. Размер исполняемого файла в Lazarus. В Lazarus если добавить пакет или поместить на форму компонент из не стандартного пакета, то автоматически в файл (.lpr) добавятся модули данного проекта. По умолчанию файл lpr не открыт если вы хотите отредактировать данный файл его необходимо сначала открыть (меню Проект/Просмотреть исходный файл проекта). Необходимыми модулями являются interface,forms и модуль вашей формы
все остальные можете (если конечно они вами не используются непосредственно в
lpr) удалять. Смотрите ниже пример стандартного файла проекта с одной формой.
{$mode objfpc}{$H+} uses {$IFDEF UNIX}{$IFDEF UseCThreads} cthreads, {$ENDIF}{$ENDIF} Interfaces, // this includes the LCL widgetset Forms, Unit1, LResources { you can add units after this }; {$IFDEF WINDOWS}{$R project1.rc}{$ENDIF} begin {$I project1.lrs} Application.Initialize; Application.CreateForm(TForm1, Form1); Application.Run; end. Этим вы можете сэкономить до нескольких мегабайтов если вы используете большие пакеты, такие как GLScene. Данное поведение характерно для библиотек, которые используют большое количество кода в разделах инициализации модулей. Замечу, что нет разницы в том, где эти модули используются, будь то файл проекта или обычный файл модуля. Конечно же, smartlink пытается избавиться от неиспользуемых модулей, но по изложенным выше причинам это не всегда заканчивается удалением неиспользуемого кода. Как можно конвертировать Делфи > Lazarus так:
Рекомендуем в повседневной деятельности:
![]() ![]() |