Поделитесь впечатлениями от FreePascal for WinCE ARM
Модератор: Модераторы
-
yantux
- постоялец
- Сообщения: 133
- Зарегистрирован: 29.10.2007 15:02:33
- Откуда: Санкт-Петербург
- Контактная информация:
Поделитесь впечатлениями от FreePascal for WinCE ARM
Поделитесь впечатлениями от кросс компиляции для FreePascal for WinCE ARM.
Насколько это практично? Интересует сеть, окошки, работа с СОМ портами и общее впечатление.
Насколько это практично? Интересует сеть, окошки, работа с СОМ портами и общее впечатление.
Я пытался написать приложение, которое считывает данные с встроенного GPS приёмника и передает по сети на Linux машину. В принципе все заработало достаточно успешно. Встречались кой какие глюки с RTL (например мне надо было скидывать отладочные сообщения в текстовый файл через TFileStream и он у меня писался исключительно в корневую директорию, хотя я указывал текущую). Но постепенно глюки исправляются. Так что не всё так плохо.
Правда с сетью и ком-портом я работаю через свои собственные компоненты, про то, что есть в фри-паскале ничего сказать не могу. Не пользовался.
На сегодняшний день лично меня больше всего напрягает сырость LCL для WinCE. Все таки без нормального набора визуальных компонентов писать коммерческие приложения достаточно тяжело. В принципе, можно посмотреть в сторону KOL-CE. По слухам там ситуация со стабильностью получше. Но это по слухам, сам не проверял.
Вообще, общее впечатление скорее позитивное, чем негативное. Хорошо, что хоть что то есть. Раньше и этого не было. Но брать на себя ответственность и писать за деньги визуальные приложения пока не решусь.
Правда с сетью и ком-портом я работаю через свои собственные компоненты, про то, что есть в фри-паскале ничего сказать не могу. Не пользовался.
На сегодняшний день лично меня больше всего напрягает сырость LCL для WinCE. Все таки без нормального набора визуальных компонентов писать коммерческие приложения достаточно тяжело. В принципе, можно посмотреть в сторону KOL-CE. По слухам там ситуация со стабильностью получше. Но это по слухам, сам не проверял.
Вообще, общее впечатление скорее позитивное, чем негативное. Хорошо, что хоть что то есть. Раньше и этого не было. Но брать на себя ответственность и писать за деньги визуальные приложения пока не решусь.
Пишу под WinCE с использованием KOL-CE.
Впринцепе как компилятор FreePascal устраивает полностью. Есть некоторые проблемы с RTL, которые решить не проблема.
С COM портами работа такаяже как и в обычном Windows. Только есть одно но: в WinCE неподдерживаются оверлаппед функции (функция GetOverlappedResult вообще отсутствует!).
Есть различие в TAPI интерфейсе. Например при получении хендла порта модема невозможно отследить факт появления байта на входе!
Конечно большая часть мной описанного непосредственно к FreePascal мало относится!
p.s. в своих программах некогда не использую стороннние компоненты (пишу всегда руками), так что про работу с COM портом таких компонентов как Synaser сказать нечего не могу!
з.ы. на счёт LCL - это конечно хорошо, но объём кода!!!!!
Впринцепе как компилятор FreePascal устраивает полностью. Есть некоторые проблемы с RTL, которые решить не проблема.
С COM портами работа такаяже как и в обычном Windows. Только есть одно но: в WinCE неподдерживаются оверлаппед функции (функция GetOverlappedResult вообще отсутствует!).
Есть различие в TAPI интерфейсе. Например при получении хендла порта модема невозможно отследить факт появления байта на входе!
Конечно большая часть мной описанного непосредственно к FreePascal мало относится!
p.s. в своих программах некогда не использую стороннние компоненты (пишу всегда руками), так что про работу с COM портом таких компонентов как Synaser сказать нечего не могу!
з.ы. на счёт LCL - это конечно хорошо, но объём кода!!!!!
... как компилятор FreePascal устраивает полностью.
Полностью согласен. К компилятору никаких претензий.
С COM портами работа такаяже как и в обычном Windows. Только есть одно но: в WinCE неподдерживаются оверлаппед функции (функция GetOverlappedResult вообще отсутствует!).
Я тоже на это напоролся. Но у меня так написан класс поддержки ком-порта, что отсутствие оверлаппед функций особо сильно не сказалось. Сам класс имитирует асинхронную работу. Мне пришлось только чуть чуть его подправить. Весь остальной код остался без изменений.
Пишу под WinCE с использованием KOL-CE
Поделись впечатлениями. Как оно?
Поделись впечатлениями. Как оно?
Сравнивать KOL-CE с LCL вообще не стоит. Для построения интерфейса там используются совершенно разнае подходы. Это всё равно, это сравнивать TurboVision(FreeVision) с VCL(LCL)!
Конечно и в KOL есть небольшие ньюансы, но всё же это более отлаженная библиотека, если сравнивать с LCL-WinCE при разработки, которой похоже, что не проводилась даже компиляция под платформу.
ps Если хочется визуального программирования установите связку MCK/KOL.
LCL тоже ниче, работает потихоньку, есть комопненты для работы с базами данных, но прорисовка интерфейса ужас как тормазнутая. Плюсы можно портировать компоненты из под делфи и использовать их в WinCE. Насчет KOL-CE не понял как с базами данных работать, DB компонентов вообще нету. Если и есть то требуют компоненты дополнительные которые еще не портированы под KO-CE, например библиотека для работы с try..except.
например библиотека для работы с try..except.
Подключаешь модуль Classes и пользуешься эксцепшенами.
Какие вы базы данных собираетесь использовать в WinCE ARM?
например адресная или кулинарная книга, используем допустим SQLite3, нужен грид к нему и пару DBEdit. На LCL это сделать не сложно, а как на KOL-CE?
haword
Я так понимаю вы пишите программы исключительно методом кликанья.
Для доступа к DB в FCL имеются пакеты.
Что мешает использовать заместо TDBEdit обычных Эдитов? А за место грида допустим использовать ListView в режиме таблицы!
п.с. Допустим я никогда не пользуюсь визуальными контролами (TDB*) для доступа к данным.
Я так понимаю вы пишите программы исключительно методом кликанья.
Для доступа к DB в FCL имеются пакеты.
Что мешает использовать заместо TDBEdit обычных Эдитов? А за место грида допустим использовать ListView в режиме таблицы!
п.с. Допустим я никогда не пользуюсь визуальными контролами (TDB*) для доступа к данным.
Меня под WinCE интересовала в основном графика под смартфонами.. Сейчас уже это бросил.
Пробовал писать окошки и в ручную и спользовал КОЛ (ЛЦЛ судя по всему расчитана для устройств со стилусом, так что никак не подошла)..
В смысле графики был немного разочарован - многие функции GDI не поддерживаються самой WinCE (к примеру кривые Безье вообще не поддерживаються, альфаблендинг включили только в WM6..). Пробовал также использовать GAPI - оказалось что он deprecated и не все новые девайсы его нормально поддерживают.. SDL для WinCE в принципе понравилась, но скорость отрисовки ИМХО слабовата. OpenGL ES нашол только софтовую реализацию, устройств поддерживающих аппаратное ускорение 3D единицы и почему-то большинство на xscale процессорах. Софтовая реализация (Vincent) впринципе работает, но уж больно медленно - несколько десятков треугольников и fps на разрешениии 320*240 падает до 2-5.
Пробовал писать окошки и в ручную и спользовал КОЛ (ЛЦЛ судя по всему расчитана для устройств со стилусом, так что никак не подошла)..
В смысле графики был немного разочарован - многие функции GDI не поддерживаються самой WinCE (к примеру кривые Безье вообще не поддерживаються, альфаблендинг включили только в WM6..). Пробовал также использовать GAPI - оказалось что он deprecated и не все новые девайсы его нормально поддерживают.. SDL для WinCE в принципе понравилась, но скорость отрисовки ИМХО слабовата. OpenGL ES нашол только софтовую реализацию, устройств поддерживающих аппаратное ускорение 3D единицы и почему-то большинство на xscale процессорах. Софтовая реализация (Vincent) впринципе работает, но уж больно медленно - несколько десятков треугольников и fps на разрешениии 320*240 падает до 2-5.
Mr.Smart
KOL-CE очень странно работает в связке с MCK на Lazarus. Ну никак не хочет новые комопненты добавлять на форму, вернее добавлять то добавляешь на не конвертируется это в код. Код завален IFDEF-ами. А если не использовать MCK то вообще попа. Да может быть кого то и прикалывает писать программу все время мысленно представляя в каком месте на форме должено стоять поле для ввода или кнопка, запускать програму проверять точно ли оно тама или нет, гы меня такое не прельщает
KOL-CE очень странно работает в связке с MCK на Lazarus. Ну никак не хочет новые комопненты добавлять на форму, вернее добавлять то добавляешь на не конвертируется это в код. Код завален IFDEF-ами. А если не использовать MCK то вообще попа. Да может быть кого то и прикалывает писать программу все время мысленно представляя в каком месте на форме должено стоять поле для ввода или кнопка, запускать програму проверять точно ли оно тама или нет, гы меня такое не прельщает
Ну никак не хочет новые комопненты добавлять на форму...
Есть такая проблемма. Решается очень просто в контекстном меню компонента KOLProject есть пункт меню Convert to KOL.
Да может быть кого то и прикалывает писать программу все время мысленно представляя в каком месте на форме должено стоять поле для ввода или кнопка, запускать програму проверять точно ли оно тама или нет, гы меня такое не прельщает
Вот вот оно поколение "кликарщиков"!
Mr.Smart писал(а):Ну никак не хочет новые комопненты добавлять на форму...
Есть такая проблемма. Решается очень просто в контекстном меню компонента KOLProject есть пункт меню Convert to KOL.
Пробывал это в первую очередь, никакого эфекта. Зато после этого в конце файла проекта lpr не добавляется или убирается хз как правильно {$ENDIF} один который надо руками добавлять.
Да может быть кого то и прикалывает писать программу все время мысленно представляя в каком месте на форме должено стоять поле для ввода или кнопка, запускать програму проверять точно ли оно тама или нет, гы меня такое не прельщает
Вот вот оно поколение "кликарщиков"!
Гы гы гы
haword писал(а):Mr.Smart
Да может быть кого то и прикалывает писать программу все время мысленно представляя в каком месте на форме должено стоять поле для ввода или кнопка, ...
Нет, сейчас так не модно. Просто пишешь модуль, который, в зависимости от префикса в названии компонента, будет ставить его на свое место и все
А растыкивать компонеты мышкой очень долго и самое скверное, что после смены темы, эти компонеты начинают негармонично выглядеть на форме
-
Medihlorian
- новенький
- Сообщения: 18
- Зарегистрирован: 26.02.2009 14:31:41
У меня впечатления больше негативные чем позитивные. Система очень не стабильная, и очень неудобная.
Кодить под KOL CE это извращение и полный геморой. И вообще не вижу смысла экономить полтора метра при современных технологиях, тем более что большинство приложений (задуманных мною) ориентировано на работу картинкаи и кнопками (хоть и бесплатные но страшные приложения никому не нужны).
LCL для WinCE очень не стабильна. То извиние, текст не виден, то он кразабрами, то сообщения где то на чукотке пояляются, то приложение после вызова сообщения вылетает, то оно просто вылетает потому что кликнул куда ни буть. Последнее меня добило: вызов обычно команды ShowMessage отображает сообщение на девайсе, но у него в заголовке и кнопка закрыть и кнопка ок а текст виден только на два строчки по три слова и там расположена ещё одна большая кнопка. Тоже самое с MessageDlg но если вызывать MessageBox то половина русского текста становится кракозябрами половина нормально и приложение вылетает!
Кодить под KOL CE это извращение и полный геморой. И вообще не вижу смысла экономить полтора метра при современных технологиях, тем более что большинство приложений (задуманных мною) ориентировано на работу картинкаи и кнопками (хоть и бесплатные но страшные приложения никому не нужны).
LCL для WinCE очень не стабильна. То извиние, текст не виден, то он кразабрами, то сообщения где то на чукотке пояляются, то приложение после вызова сообщения вылетает, то оно просто вылетает потому что кликнул куда ни буть. Последнее меня добило: вызов обычно команды ShowMessage отображает сообщение на девайсе, но у него в заголовке и кнопка закрыть и кнопка ок а текст виден только на два строчки по три слова и там расположена ещё одна большая кнопка. Тоже самое с MessageDlg но если вызывать MessageBox то половина русского текста становится кракозябрами половина нормально и приложение вылетает!
