Использование библиотеки KOL на компиляторе Free Pascal. |
25.05.2007 Phantom (http://www.phantom.co.nr/) |
Выражаю благодарность Ivan A. Kuzmitsky.
Была использована статья Thaddy de Koning
http://members.chello.nl/t.koning8/fpc_in_kol_proper.htm
(частичный
перевод).
(С)18.05.2007. Версия 1.0.1
С выпуском версии 2.0.x группа разработчиков Freepascal достигла новой высоты в совместимости с Delphi. Библиотека KOL давно поддерживает Freepascal, с помощью набора условных определений (defines) и специальных дополнений библиотеки. Теперь, однако, Freepascal 2.0.x компилятор достаточно совместим, чтобы собрать Kol.pas 2.10 почти без изменений исходного кода KOL.
Несколько слов о библиотеке KOL. Она была создана и развивается Владимиром Кладовым. Позволяет разрабатывать чрезвычайно компактные GUI-приложения. Распространяется бесплатно, с исходными текстами.
Для установки KOL на fpc нужна сама библиотека и вспомогательные файлы (в архиве находятся дополнительные модули, необходимые для компиляции KOL на fpc).
Способ №1 (простой):
Теперь можно скомпилировать библиотеку командой fpc kol.pas –Mdelphi –Rintel –OG2p3 –Xs –XX –CX –Sg.
Параметры командной строки –Mdelphi (режим совместимости с
Delphi) , –Rintel (использовать intel-стиль ассемблера) и
–Sg обязательны, остальные опциональны.
Главный недостаток этого способа это то, что библиотека KOL и fpc используют разные версии модулей windows, messages и т.д. из-за чего, если Вы используете в программу какие-либо модули из состава fpc в дополнении к kol, то могут происходить ошибки при компиляции. То есть написать сколь-либо сложную программу не получится, этот способ подходит лишь для первого знакомства с библиотекой, при компилиции примеров не сложнее "Hello World".
Внимание!!! Перед компиляцией библиотеки KOL, обязательно переходите каталог, где находится KOL, либо обязательно указывайте с помощью ключа -Fu<путь> где находятся вспомогательные файлы для библиотеки, иначе могут происходить ошибки при компиляции.
Способ №2 (сложный):
Теперь можно скомпилировать библиотеку
командой fpc kol.pas –Mdelphi –Rintel
–Og2p2 –Xs –XX –CX –Sg.
Параметры командной строки –Mdelphi (режим совместимости с
Delphi) , –Rintel (использовать intel-стиль ассемблера) и
–Sg обязательны, остальные опциональны.
После компиляции исходный код библиотеки можно удалить – больше не понадобится.
Для автоматизации этого процесса Вы можете использовать программу KOL modifier (с исходниками), написанную мной. Эта программа, протестирована на компиляторе fpc 2.0.2-2.0.4 и библиотеке KOL версий 2.10 и 2.30-2.61. Для более поздних версий библиотеки работоспособность программы не гарантирую, т.к. программа не поддерживается разработчиком библиотеки KOL, но я, в силу своих возможностей, стараюсь исправлять несовместимости между моей программой и библиотекой.
Теперь, когда библиотека KOL работоспособна под FPC, нужно указать компилятору где она находится. Для этого отредактируйте файл fpc.cfg, добавьте в него строку –Fu(путь, где находится библиотека). Между FuC и путем не должно быть пробелов, примерно так: -FuC:kolfpc.
Для проверки работоспособности KOL откомпилируйте нижеприведенную тестовую программу, она должна получиться размером примерно 47 килобайт.
program test; {$APPTYPE GUI} uses Kol; begin Applet:=NewForm(nil,’Hello World!!!'); Run(Applet); end.