KOL-CE - разработка компактных приложений для Windows Mobile

Модератор: Модераторы

KOL-CE - разработка компактных приложений для Windows Mobile

Сообщение Юра » 23.10.2007 16:07:35

Выпущен релиз библиотеки KOL-CE. Скачать и узнать больше можно на вики странице, посвященной KOL-CE: http://wiki.freepascal.org/KOL-CE

KOL-CE это Free Pascal/Lazarus порт библиотеки KOL&MCK, разработанной Владимиром Кладовым (http://kolmck.net).

KOL-CE позволяет создавать очень компактные Win32/WinCE GUI приложения
(начиная от ~40KB для проекта с пустой формой).
MCK это пакет Lazarus который предназначен для ВИЗУАЛЬНОЙ разроботки проектов KOL-CE
в среде Lazarus IDE.

Изначально KOL-CE планировался как порт KOL только для WinCE. Но позже было решено сохранить поддержку Win32 и сделать ее работоспособной под FPC.
Оригинальный KOL предназначен для Delphi и не работает полноценно с FPC. Оригинальный MCK вообще не может быть использован с Lazarus.

Библиотека KOL-CE достаточно стабильна для использования в реальных приложениях.

Первый коммерческий продукт для Windows Mobile, созданный с использованием Free Pascal/Lazarus/KOL-CE: Password Manager XP Mobile (http://www.cp-lab.com/windows-mobile.html).

Еще один проект: ChARMeD disassembler (http://blog.carolos.za.net/2007/05/charmed-for-pocket-pc-beta-030.html).
Юра
постоялец
 
Сообщения: 163
Зарегистрирован: 25.05.2005 10:20:09
Откуда: Украина, Киев

Сообщение shade » 08.11.2007 14:07:17

А компонент типа RichEdit там есть?
Аватара пользователя
shade
энтузиаст
 
Сообщения: 881
Зарегистрирован: 21.02.2006 20:15:48
Откуда: http://shamangrad.net/

Сообщение Юра » 08.11.2007 19:47:54

В WinCE, который используется как ядро Pocket PC ричедита нет вообще.
Юра
постоялец
 
Сообщения: 163
Зарегистрирован: 25.05.2005 10:20:09
Откуда: Украина, Киев

Сообщение shade » 08.11.2007 21:08:09

Юра писал(а):В WinCE, который используется как ядро Pocket PC ричедита нет вообще.

Жаль :(
Аватара пользователя
shade
энтузиаст
 
Сообщения: 881
Зарегистрирован: 21.02.2006 20:15:48
Откуда: http://shamangrad.net/

Сообщение Bohdan » 12.11.2007 20:43:25

Проблема с запуском приложения на Asus MyPal A600.
Приложение не запускается, ошибок не выдает...
Под отладчиком происходит ошибка где то в NewForm1( Form1, nil );
Как я понимаю проблема в том, что там ОС "Pocket PC 2002"
Может кто то сталкивался с такой проблемой и есть стандартные решения...

PS: под эмулятором где ОС "Pocket PC 2003" и на покете где WM5 прога работает нормально...
Bohdan
новенький
 
Сообщения: 87
Зарегистрирован: 11.05.2005 11:31:46
Откуда: Ukraine, Kyiv

Сообщение Юра » 12.11.2007 22:16:55

На Pocket PC 2002 могут быть проблемы, т.к. на этой платформе ничего не тестировалось...
Юра
постоялец
 
Сообщения: 163
Зарегистрирован: 25.05.2005 10:20:09
Откуда: Украина, Киев

Сообщение Bohdan » 14.11.2007 15:01:57

Юра
в http://www.delphimaster.ru/cgi-bin/foru ... 1173217771
обсуждалась тема "проблема с русскими буквам"
Ты предложил:
Использовать resourcestring для всего текста


Ни чего с тех пор не изменилось?
Bohdan
новенький
 
Сообщения: 87
Зарегистрирован: 11.05.2005 11:31:46
Откуда: Ukraine, Kyiv

Сообщение Юра » 14.11.2007 15:41:58

Нет. Но хорошо, что напомнил. Щас проверю, чтобы в 2.2.2 это было поправлено.
....
Проверил в 2.2.1 есть поддержка cp1251.
Если при компиляции указать ключик -Fccp1251 то с русскими буквами будет все в порядке.
Так что, либо пользоваться 2.2.1 сейчас, либо подождать 2.2.2, который должен появиться до конца года.
Юра
постоялец
 
Сообщения: 163
Зарегистрирован: 25.05.2005 10:20:09
Откуда: Украина, Киев

Сообщение Bohdan » 14.11.2007 20:06:51

Юра респект тебе:
при компиляции указать ключик -Fccp1251

я не знал :shock:
пересобрал компилер (2.3.1) с нужным "cp1251.pas" и все на ура заработало :wink:

Нужно в FAQ добавить про -Fccp1251
или (я не знаю есть ли ) в дерективы компилера при генерации КОЛ-проекта сразу добавлять...

Юра, ещё один вопрос:
при использовании нескольких форм в подключаемом модуле myproj_2.inc автоматически добавляется строка создания второй формы:
NewForm2( Form2, Pointer( Form1.Form ) );
в Win32 это никак не сказывается, но в WinCe при этом вызове главное меню заменяется на меню второй формы (у меня оно отсутсвует). По этому перед компиляцией под WinCe мне приходится вручную коментить данную строку (форму я потом создаю при вызове, она у меня модальная). Как отключить автокриейт форму в упор не нашел....

PS: При включении свойства КОЛ-формы CloseIcon=false в процедуру создания окна добавляется:
DeleteMenu( GetSystemMenu( Result.Form.GetWindowHandle, ' +
'False ), SC_CLOSE, MF_BYCOMMAND );
а GetSystemMenu в KOL-CE есть только под Win32
Bohdan
новенький
 
Сообщения: 87
Зарегистрирован: 11.05.2005 11:31:46
Откуда: Ukraine, Kyiv

Сообщение Юра » 14.11.2007 22:29:45

Лучше ключиком -Fccp1251 пользоваться. Не всем же нужна кирилица...

Насчет форм. Нужно просто выключить автосоздание форм в свойствах прокета в Лазарусе и оставить автосоздание только главной формы.

Для кода при CloseIcon=false поставлю {$ifndef wince}...

Кстати баги лучше постить в русский багтрекер на sourceforge.
Юра
постоялец
 
Сообщения: 163
Зарегистрирован: 25.05.2005 10:20:09
Откуда: Украина, Киев

Сообщение Bohdan » 22.11.2007 17:35:58

Юра а что с ProvideMouseEnterLeave и WndProcMouseEnterLeave?
Хотел спросить ты просто не успел его спортировать или там какие то проблемы?
Мне нужно было использовать события onMouseEvent и т.п. упёрлось вроде в модуль delphicommctrl.inc

PS: Хотел еще спросить: у меня подвисает (точнее страшно глючит, а при закрытии проекта подвисает) "Delphi" если на двух формах есть MainMenu, я запостил в багтрекер, а теперь подумал может это только у меня такая проблема?
Bohdan
новенький
 
Сообщения: 87
Зарегистрирован: 11.05.2005 11:31:46
Откуда: Ukraine, Kyiv

Сообщение Юра » 22.11.2007 19:13:10

Вообще-то на покете с тачскрином нет мышиного курсора, и соответственно курсор не может войти/выйти из области занимаемой контролом. Для каких нужд нужны эти события?

Баг репорт я видел, но не доходят руки протестить на Дельфях. KOL-CE на Дельфях, наверное, никто и не ставил. Все Лазарусом пользуются. Но я посмотрю когда будет время...
Юра
постоялец
 
Сообщения: 163
Зарегистрирован: 25.05.2005 10:20:09
Откуда: Украина, Киев

Сообщение Bohdan » 22.11.2007 19:48:42

Я делаю компонент типа трекбара (пока не компонент, пока просто обрабатываю события на паинтбоксе), с некоторыми особенностями.

Под покетом проблемка: когда я стилусом "тягаю" по одному контролу(выставляю значение), а затем попадаю на другой, он начитает тоже "тягаться". К сожелению у второго компонента срабатывает событие onClick и onMouseDown.

Обнаружил еще "неприятное" различие между VCL и KOL: в VCL если нажал на контроле и тянуть мышкой, то событие onMouseMove приходит даже если выйти за граници контрола. В KOL такого нет.

Но конечно придумать что то можно всегда...

Вот только что обнаружил KOLTracker почти то, что хотел делать я :)) там все нормально работает.. уже работает и у меня :)
Последний раз редактировалось Bohdan 22.11.2007 22:26:16, всего редактировалось 1 раз.
Bohdan
новенький
 
Сообщения: 87
Зарегистрирован: 11.05.2005 11:31:46
Откуда: Ukraine, Kyiv

Сообщение Юра » 22.11.2007 22:05:52

Вызывай SetCapture при нажатии на кнопку и ReleaseCapture при отпускании кнопки.
Юра
постоялец
 
Сообщения: 163
Зарегистрирован: 25.05.2005 10:20:09
Откуда: Украина, Киев

Сообщение shade » 30.12.2007 16:46:17

А нельзя ли эту тему прилипить?
А то уже надоело поиском пользоваться :roll:
Аватара пользователя
shade
энтузиаст
 
Сообщения: 881
Зарегистрирован: 21.02.2006 20:15:48
Откуда: http://shamangrad.net/

След.

Вернуться в WinCE

Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 1

Рейтинг@Mail.ru