Sign in Join
Wiki copytemporary

KOL-CE/ru: what changed

Revision 0 to 1. Removed lines have a minus sign; added lines have a plus sign.

Title: KOL-CE/ru

OldNewLine
1+## Введение
2+
3+KOL-CE - это [KOL&MCK](http://f0460945.xsph.ru/rindex.htm) от Владимира Кладова, портированная под Free Pascal/Lazarus. KOL-CE создана Юрием Сидоровым и распространяется под [wxWindows Library Licence](http://www.opensource.org/licenses/wxwindows.php).
4+
5+KOL-CE позволяет создавать очень компактные Win32/WinCE GUI приложения (начиная от ~40KB приложения с пустой формой).
6+
7+MCK это пакет, позволяющий проектировать приложения KOL-CE визуально, используя Lazarus IDE.
8+
9+Изначально KOL-CE планировался как KOL, портированный только для [[WinCE port|WinCE]]. Но потом было решено оставить функции Win32 и доделать его работу с FPC. Оригинальный KOL предназначалась для Delphi и работает во Free Pascal с ошибками. А оригинал MCK вообще нельзя было использовать для Lazarus.
10+
11+### Требования
12+
13+- Free Pascal compiler 2.2.0 или позже для Win32.
14+- arm-wince cross compiler 2.2.0 или позже для Win32 (for [[WinCE port|WinCE]] development).
15+- Lazarus 0.9.26 или позже для Win32.
16+
17+### Поддерживаемые платформы:
18+
19+- Все 32-битные Windows: от Windows 95 до Windows 7.
20+- [[WinCE port|Windows CE]] для PocketPC и смартфонов.
21+
22+## Загрузка
23+
24+Последний релиз KOL-CE можно скачать [здесь](http://sourceforge.net/project/showfiles.php?group_id=188451).
25+
26+Также вы можете получить свежие исходники KOL-CE из [SVN](https://kol-ce.svn.sourceforge.net/svnroot/kol-ce/trunk).
27+
28+## Установка
29+
30+------------------------------------------------------------------------
31+
32+**Важно:** После KOL-CE 2.80.2 определение `DisableFakeMethods` больше не требуется.
33+
34+Если раньше вы использовали KOL-CE 2.80.1 или ранее, вам надо пересобрать Lazarus **без** определения `DisableFakeMethods` перед установкой пакета MCK. Иначе **обработчики событий не будут работать**!
35+
36+Сделаем это:
37+
38+1. Запустить Lazarus.
39+2. Выбрать пункт **Tools \> Configure "Build Lazarus"...** (**Сервис \> Параметры сборки Lazarus...**).
40+3. Выбрать **Clean Up + Build all**(Очистить всё + собрать всё) на странице **Quick Build Options** (простые параметры сборки).
41+4. Открыть страницу **Advanced Build Options** (Расширенные параметры сборки) и **remove** `-dDisableFakeMethods` из поля ввода **Options** .
42+5. Кликнуть по кнопке **Build** для пересборки Lazarus.
43+
44+------------------------------------------------------------------------
45+
46+<figure>
47+<img src="MirrorKOLPackage.png" title="MCK package" />
48+<figcaption>MCK package</figcaption>
49+</figure>
50+
51+1. Загрузите KOL-CE и поместите куда-нибудь рядом с Лазарусом.
52+2. Запустите Lazarus и выберите пункты меню **Components \> Load package file**. Укажите папку **MCK** и выберите файл **`MirrorKOLPackage.lpk`**.
53+3. Появится окно содержимого пакета. Нажмите кнопку **Install**.
54+4. Лазарус скомпилирует пакет MCK перезапустится.
55+5. После этого на палитре компонентов появится вкладка KOL.
56+
57+<figure>
58+<img src="KOLComponents.png" title="|KOL components palette" />
59+<figcaption>|KOL components palette</figcaption>
60+</figure>
61+
62+СОВЕТ: Если вы видите не все компоненты KOL на палитре компонентов, увеличьте размер окна по вертикали. Появится вторая строка с недостающими копонентами (см. скриншот).
63+
64+Обновить пакет MCK очень легко. Просто перезапишите обновленные KOL-CE исходники поверх (вместо) старых, откройте пакет MCK через Lazarus и нажмите **Install**, пакет перекомпилится, и будет вам счастье!
65+
66+## Особенности использования MCK
67+
68+### Создание нового проекта
69+
70+<figure>
71+<img src="MCKForm.png" title="MCK form" />
72+<figcaption>MCK form</figcaption>
73+</figure>
74+
75+1. Запустите Lazarus, выберите **File \> New...** (**Файл \> Создать ...**).
76+2. Выберите **KOL Application** в секции **Project** и нежмите **OK**.
77+3. Будет создан новый KOL проект.
78+4. Сохраните проект под новым именем.
79+5. Продукт готов к использованию, срок годности ограничен вашей фантазией =). Можете развлекаться!
80+
81+### Добавление формы
82+
83+1. Выберите **File \> New...** (**Файл \> Создать ...**).
84+2. Выберите **KOL Form**(иногда просто **Form**) в секции **File** (**Модуль**) и нажмите **OK**.
85+3. Сохраните модуль с формой под новым именем.
86+
87+### Особенности написания кода
88+
89+Не используйте элементы из RTL/FCL/LCL, особенно из SysUtils, Classes, Forms и подобных им. Всё необходимое придётся искать в модулях KOL, Windows, Messages. А может быть, вы напишете что-то сами (или скопируете из других исходников). Если вы пишете в зеркальном проекте (mirror project) - Обычно поместите его в обработчики событий. Вы также можете добавлять любой код где пожелаете, но избегайте изменения первой секции объявления класса вашей зеркальной LCL формы. И не изменяйте автоматически созданные inc-файлы. Всегда помните, что код, который вы пишете в зеркальном проекте, должен быть принят и LCL, и KOL. LCL - на этапе компиляции зеркального проекта (и это необходимо, потому что иначе конвертация зеркального проекта в отражённый KOL проект будет невозможна). А KOL - на этапе компиляции написанного кода в KOL.
90+
91+### Важно
92+
93+Для решения конфликта между словами `LCL.Self` и `KOL.@Self`, которые интерпретируются по-разному в KOL и LCL, добавлен специальный компонент - `Form`. В LCL, свойство `Form` типа компонент `TKOLForm` "возвращает" `Self`, То есть форму. А в KOL, `Form: PControl` - это поле-объект, содержащий сам объект-форму. Поэтому, вместо
94+
95+`MainForm.caption := 'Hello!', где MainForm - ваша форма, пишите`\
96+`Form.Caption := 'Hello!'; `
97+
98+(Старое обращение Caption := 'Hello!'; компилируется нормально при преобразовании зеркального проекта в KOL, однако в самом(без MCK) KOL это будет неправильно). Но через `Form` можно обращаться только к свойствам формы - не к дочерним компонентам. Вам доступны дочерние компоненты и обработчики событий черес саму форму. например:
99+
100+`Button1.Caption := 'OK';`\
101+`Button1Click(Form);`
102+
103+### Run-time создание форм
104+
105+Можно создать несколько экземпляров одной и той же формы во время выполнения программы. Притом можно сделать не АвтоСоздаваемую форму, а создавать её программно, когда это необходимо. Используйте глобальную функцию `NewForm1` (замените Form1 на имя вашей зеркальной формы) например:
106+
107+`NewForm1( TempForm1, Applet );`
108+
109+Для таких созданных во время выполнения форм справедливо то же правило, что и дляавтосозданных - обращайтесь к сваойствам формы через свойство-объект `Form`
110+
111+## WinCE
112+
113+#### Установка
114+
115+![arm-wince target](/wiki-images/5/5e/Arm-wince-target.png) Для начала надо установить кросскомпилятор arm-wince for Win32 для компиляции исполняемых файлов WinCE. Можно скачать [здесь](http://www.freepascal.org/download.var). Нужно скачать lazarus с кросскомпилятором в комплекте и затем установить поверх уже установленного Lazarus'a, то есть в ту же папку.
116+
117+Чтобы компилировать под arm-wince откройте параметры компилятора для вашего проекта, выбрав пункт меню **Project \> Compiler options...**. Откройте вкладку **Code** (**Код**) и поменяйте операционную систему на WinCE, а целевое семейство процессоров на arm.
118+
119+На вкладке **Пути** поменяйте библиотеку виджетов LCL на WinCe.
120+
121+**ПРИМЕЧАНИЕ:** Вы можете получить следующие сообщения об ошибке во время компиляции вашего KOL-CE проекта для WinCE:
122+
123+`Compiling resource KOL-CE.rc`\
124+`arm-wince-windres.exe: no resources`\
125+`KOL.PAS(57901) Error: Error while linking`\
126+`KOL.PAS(57901) Fatal: There were 1 errors compiling module, stopping`
127+
128+В таком случае вам нужно изменить переменную окружения **PATH** **Windows** и добавить путь к папке, где расположены файлы win32 FPC.\
129+Чтобы узнать, какой путь добавить, перейдите на**Окружение**\>**Параметры** в Lazarus и посмотреть путь к компилятору.\
130+**Перед изменением PATH закройте Lazarus**.\
131+====Редактирование переменной окружения **PATH**====
132+
133+##### в Windows XP
134+
135+1.Правой кнопкой мыши щелкните по значку "Мой компьютер" и выберите пункт меню "Свойства". 2.Перейдите на вкладку "Дополнительно". 3.Нажмите кнопку "Переменные среды". 4.Выберите в списке переменную path, нажмите **изменить** и через точку с запятой добавьте путь к папке.
136+
137+##### в Windows 7
138+
139+1.Нажмите пуск. 2.Нажмите правой кнопкой мыши по пункту **Компьютер**.Выберите пункт меню свойства. 3.Нажмите на **Дополнительные параметры системы** (список слева). 4.На вкладке **Дополнительно** нажмите кнопку **Переменные среды**. 5.Выберите в списке переменную path, нажмите **изменить** и через точку с запятой добавьте путь к папке.
140+
141+#### Hints and notes
142+
143+- Чтобы сделать полноэкранный вид, не пытайтесь изменить позицию окна и его размер. Если попытаться это сделать, форма будет выглядеть как диалог с заголовком и кнопкой закрыть. В MCK установите **defaultSize** и **defaultPosition** of TKOLForm в True для достижения цели.
144+
145+#### Известные проблемы
146+
147+- Следующие компоненты не поддерживаются: RichEdit.
148+- Прозрачность и двойная буферизация также не поддерживаются.
149+- Работают значения свойства gradient panel styles только gsVertical и gsHorizontal.
150+- Горизонтальное выравнивание текста не работет в однострочном компоненте edit. Используйте memo если вам оно нужно.
151+- Vertical text alignment does not work for panel and label.
152+
153+## Документация
154+
155+- Посетите официальный сайт KOL&MCK для получения документации и информации: <http://kolmck.ru>
156+- Прочитайте документацию MCK в файле **KOLmirrorReadme.txt**, лежащем в папке MCK.
157+
158+## Приложения, использующие KOL-CE
159+
160+- [Password Manager XP Mobile](http://www.cp-lab.com/windows-mobile.html)
161+- [ChARMeD disassembler](http://blog.carolos.za.net/2007/05/charmed-for-pocket-pc-beta-030.html)
162+- [WMWifiRouter](http://www.jongma.org/WMWifiRouter/)
163+
164+## См. также
165+
166+- [Официальный вебсайт KOL&MCK](http://f0460945.xsph.ru/rindex.htm)
167+- Страничку KOL-CE на SourceForge <http://sourceforge.net/projects/kol-ce/>
168+- [Портирование на WinCE c помощью Free Pascal](http://wiki.lazarus.freepascal.org/WinCE_port/ru)
169+- [[Windows CE Interface]]
170+- [[Windows CE Development Notes]]
171+
172+## Contacts
173+
174+Report bugs, submit patches and ask questions at project's page at SourceForge: <http://sourceforge.net/projects/kol-ce/>
175+
176+---
177+*From the Free Pascal wiki, page "KOL-CE/ru", as it stood on 2021-04-29 after a change by Seenkao, out of the wiki's dump of 2024-05-26. Copyright stays with the author who wrote it, according to the old wiki's [[Licensing]] page. If you have concerns about this material, [message the admin](/wiki-contact).*
178+Category: Components/ru
179+Category: Russian
180+Category: WinCE/ru

Back to history