Оглавление Lazarus: Преобразование проектов Delhi и Kilix в проекты Lazarus


Описание для версии Лазарус 09.22 бета.
( Говорят, в новых версиях преобразовывать проще :-)

Описаны (http://wiki.lazarus.freepascal.org/Code_Conversion_Guide) 2 метода конвертирования Делфи7-проектов для использования в Lazarus - Free Pascal.

Похоже, что проще всего конвертировать Делфи->Lazarus так:

  1. Убедиться в том, что в файлах .dfm текстовые константы (кириллица) представлены символами, а не кодами (т.е. не так: Caption = #1055#1088#1080#1074#1077#1090', '#1087#1088#1080#1074#1077#1090' !', а так: Caption = 'Привет, привет !'). Для раскодирования могут помочь такие действия в среде Делфи 7:
    • Меню | Project | Add to project - добавить соответствующий файл .pas
    • Меню | Project | Add to project - добавить соответствующий файл .dfm
    • В файле .dfm русские тексты должны читаться нормально
    • В этом файле удалить какой-нибудь пробел и вставить снова (т е симулировать изменение файла)
    • Сохранить файл .
    • Просмотром в блокноте убедиться, что числа типа #1055 раскодированы в русские буквы .
  2. Копируйте в отдельную папку файлы .dpr, *.pas, *.dfm, .res (остальные не нужны).
  3. Переименуйте .dpr файл в *.lpr.
  4. Сделайте необходимые изменения в .dpr файле (который теперь .lpr) (используйте любой текстовый редактор, например Блокнот):
    1. Добавьте {$mode delphi} {$H+} или (предпочтительнее:) {$mode objfpc} {$H+} директивы компилятора (поставьте это второй строкой)
    2. Добавьте 'Interfaces' в предложение uses
    3. Удалите {$R *.res}. Сохраните этот файл
  5. Запустите Лазарус, закройте проекты и файлы (если есть открытые, т е в меню Файл щелкните пункты Закрыть и Закрыть все файлы редактора. В итоге они должны быть недоступны (серые такие))
  6. В меню выберите: Меню-Проект-Создать проект из файла
  7. В окошке "Выберите исходник..." откройте Ваш .lpr-файл. На вопрос "Сохранить изменения? (в прежнем проекте)" - Нет
  8. В окошке "Создать новый проект" выберите "Приложение", щелкните кнопку "Создать"
  9. Сохраните всё (или кнопкой "Сохранить всё" или меню-файл-сохранить всё или Shift-Ctrl-S). Это обязательно, иначе следующий пункт не работает. На предложение добавить Interfaces отвечайте Да.
  10. Преобразуйте модули. Для каждого модуля:
    • Меню-Инструменты-Преобразовать модуль Делфи в Лазарус. Выберите и откройте .pas файл.
    • Когда текст файла .pas появится в окне редактора - добавить Buttons в предложение uses (если на форме есть buttons)
    • Правый щелчок в окне редактора, выбрать: Open .lfm (Если у модуля есть форма => .lfm )
    • В тексте .lfm удалить строку OldCreateOrder = False
    • Перейти в окне редактора на закладку где файл модуля (.pas)
    • Меню-Проект-Добавить файл редактора к проекту. Подтвердить (Да)
  11. Собрать проект (Ctrl-F9 или Меню-Запуск-Сборка) (этот пункт можно пропустить)
  12. Запустить проект (F9 или Меню-Запуск-Запуск)
  13. Полезно заглядывать в окошко сообщений: там могут быть предупреждения и сообщения об ошибках и об излишних модулях в предложениях uses
  14. Возможно, придется подправить внешний вид форм. Это делается как и в Делфи
  15. Как и в Делфи, проект можно (и нужно) сохранять
  16. Можно уменьшить размер исполняемого (.exe) файла - как описано здесь.

Можно действовать немного иначе:

  1. Выполните пункты 1,2 предыдущего плана
  2. Далее выполните пункт 5
  3. В меню: Инструменты | Преобразовать проект Делфи в проект Лазарус - открыть Ваш файл .dpr (На запрос: Прежний проект сохранить - не сохранять)
  4. Выполните пункты 6-10
  5. Выполните пункты: 4, а затем 11-16 предыдущего плана
К сожалению, при сообщениях об ошибках иногда приходится редактировать текст файла .lfm а этого не должно быть.



На рисунке сравнивается вид проекта, полученного из Делфи-7 проекта описанным преобразованием и проекта, полученного в среде Lazarus 0.9.28.2 непосредственно сборкой из палитры компонентов.
Rambler's Top100
Hosted by uCoz