пятница, 25 января 2008 г.

Настройка и установка Lazarus

Установка Lazarus

скачиваем два файла с http://sourceforge.net/project/showfiles.php?group_id=89339

Lazarus-0.9.24-fpc-2.2.0-20071114-win32.exe
Lazarus-0.9.24-fpc-2.2.0-20071105-cross-arm-wince-win32.exe

Сначало устанавливаем первый
потом второй в тужу папку


Установка KOL и MCK

1. Скачиваем KOL и MCK для Lazarus с http://www.kolnmck.ru/files1.shtml или самая свежая версия svn http://sourceforge.net/projects/kol-ce/. Выкладываем скачанные файлы, например, в папку "...\Lazarus\KOL". Чтобы в дальнейшем не пришлось исправлять пути в пакете MCK, желательно сохранить структуру каталогов:
"...\Lazarus\KOL\kol" и "...\Lazarus\KOL\mck".
2. Устанавливаем МСК. Для этого:

* Открываем пакет MirrorKOLPackage.lpk (меню "Компоненты"->"Открыть файл пакета").



В результате открывается окно "Пакет MirrorKOLPackage".



* Компилируем [1] пакет, если все успешно, то получаем сообщение: "Compiling package MirrorKOLPackage 2.72" completed".



* Проверим "Настройки"[2] пакета. Вкладка "Встраивание в IDE": "Tип пaкeтa" должен быть "Toлькo для paзpaбoтки", а "Oбнoвить/пepeбpaть" - "Pучнaя кoмпиляция (нe aвтoмaтичecки)".



* Нажимаем кнопку "Установить" [3], на вопрос "Bы xoтитe пepeбpaть Lazarus ceйчac?" отвечаем "Да".



В результате Lazarus будет пересобран, в палитру компонентов будет добавлена вкладка "KOL" c зеркалами KOL-компонентов.
В случае успешной операции, Lazarus, после сборки, должен запуститься сам. Если этого не произошло (бывает иногда), значит что-то пошло не так, и обычно нужно повторить установку еще раз.


Установка KOL-компонентов сторонних разработчиков

1. Дополнительные компоненты KOL можно скачать отсюда: http://www.kolnmck.ru/files2.shtml. Те компоненты, которые поддерживают Lazarus и WinCE отмечены в соответствующей колонке.
2. Установка аналогична установке MСK.

Внимание!!! При использовании нескольких пакетов KOL-компонентов (например MirrorKOLPackage, KOLUpDown, DirTreeView, GRush Controls и т.д.), Lazarus, при установке\переустановке какого либо пакета, может иногда выдавать ошибку что не найден(ы) ранее установленый(е) пакет(ы). В этом случае обычно помогает открытие и перекомпиляция этого ранее установленого пакета.


Создание KOL- проекта

1. Создаем новый проект (меню "Пpoeкт"->"Создать проект").
2. Сохраняем его (меню "Файл"->"Сохранить все"). Например, "C:\Test\project1.lpi" .
3. Кладем на форму компонент TKOLProject, устанавливаем его свойство "projectDest", например, KOLProject.



4. Кладем на форму компонент KOLForm.
5. Сохраняем проект (меню "Файл"->"Сохранить все").
6. Открываем наш созданный KOL-проект. (меню "Пpoeкт"->"Открыть проект"). Он называется "KOLProject.lpi"
7. Сразу после открытия Lazarus ругается. Что то типа "Unit1.pas(15,4) Fatal: Can't open include file "MCKfakeClasses.inc".
Выполняем следующие действия:
- Открываем "Параметры компилятора проекта" (меню "Пpoeкт"->"Опции компилятора"). Прописываем пути к KOL



- Открываем pas-файл формы (Unit1.pas), ищем в нем строку "{$I Unit1.lrs}" и если находим, то удаляем ее нахрен.
- Подвигать форму :)).
8. Компилируем проект (меню "Запуск"->"Сборка") . Теперь должно получиться. Если все хорошо, то видим сообщение "Проект "KOLProject" успешно собран. :) ".



9. Exe-файл появился на диске "C:\Test\KOLProject.exe" и даже запускается! Вот только размер удручает: 1 011 718 байт.....
10. Открываем "Параметры компилятора проекта" (меню "Пpoeкт"->"Опции компилятора"), вкладка "Связывание". Убираем галку у "Bыдaть нoмepa cтpoк в oшибкax вpeмeни иcпoлнeния (-gl)" и ставим на "Bыpeзaть cимвoлы из бинapникa (-Xs)".



11. Компилируем проект. И... пришло счастье - размер 42 528 байт!
12. Теперь можно положить несколько кнопок, и еще каких нибудь компонентов.:))
13. При использовании компонентов из дополнительных пакетов (например KOLUpDown, DirTreeView, GRush Controls и т.д.) необходимо перед компиляцией проекта (после добавления компонента на форму) удалить эти пакеты из секции "Tpeбyeмыe пaкeты" проекта. Иначе Lazarus будет пытаться компилировать их. Впрочем, MirrorKOLPackage тоже иногда пытается компилить, поэтому тоже лучше удалять.



Также необходимо указать пути к этим компонентам (см. п. 7).

14. Опции компилятора, которые необходимо задать для проекта указаваются с ключом "-d" в "Параметрах компилятора проекта" (меню "Пpoeкт"->"Опции компилятора"), вкладка "Другое", "Параметры пользователя".




Компиляция под WinCE

Продолжаем мучить наш многострадальный проект ""KOLProject.lpi". Откомпилируем его под WinCE.

1. Открываем "Параметры компилятора проекта" (меню "Пpoeкт"->"Опции компилятора").
- Вкладка "Пути": устанавливаем "Tип элeмeнтa yпpaвлeния LCL (дpyгoe)" равным "wince".



- Вкладка "Код", "Цeлeвaя Плaтфopмa" : устанавливаем "Для кaкoй OC (-T)" равным "WinCE", "Для ЦП: (-P)" равным "arm"



- Нажимаем "Ok" :)).
2. Для KOLForm назначаем свойства defaultSize = True и defaultPosition = True
3. Компилируем, получаем программу для WinCE.



Возможные проблеммы

1. Под WinCE возникает ошибка при компиляции файла ресурсов "KOL-CE.rc".
Возможные решения:
В случае, если не используется меню, можно просто закоментировать в файле "Kol.pas" строку {$R KOL-CE.rc}.
Также можно откомпилировать "KOL-CE.rc" самому командной строкой "arm-wince-windres KOL-CE.rc KOL-CE.res", а в файле "Kol.pas" строку {$R KOL-CE.rc}. заменить на {$R KOL-CE.res}.
2. При использовании директивы UNICODE_CTRLS, а в WinCE она используется автоматически всегда, в Lazarus имеется проблема с использованием русского языка. Причина проблемы в том, что FPC 2.1.5 (и ранние версии) не понимает кодировку 1251 при переводе из ANSI в WIDE. Со временем обещают исправить. Сейчас можно использовать resourcestring или такую конструкцию:
function Ansi2Wide(S: AnsiString): WideString; begin Result:= S; end;
Тогда присвоение типа: Button1.Caption:= Ansi2Wide('йй'); работает правильно.

Автор: Дмитрий Матвеев
Из материалов: http://www.kolnmck.ru/lessons/lazarus_use.shtml

Комментариев нет: