WinCE и загрузка процессора

Вопросы программирования и использования среды Lazarus.

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

WinCE и загрузка процессора

Сообщение mike » 23.02.2007 17:46:40

Скачал и установил я такой набор:
сначала Lazarus-0.9.21-fpc-2.1.1-20070210-win32.exe,
потом, поверх Lazarus-0.9.21-fpc-2.1.1-20070208-cross-arm-wince-win32.exe
и наконец arm-wince-binutils.zip. Все это с целью программинта на Паскале под WinMobile.

В принципе данная связка работает нормально, исполняемые файлы генерит и эти файлы даже работают :) Но обнаружилась одна проблема: программа, использующая TForm всегда жрет процессор на 100% и сама никак не закрывается (только убийство процесса помогает). Это лечится? Где взять исходники LCL для WinCE?

Также мне не совсем понятно как в лазарусе работать с TCP. Прямых аналогов TServerSocket/TClientSocket я не нашел, а мне еще под WinCE надо бы это дело :( На чистом API все писать тоскливо, а мои собственные сокеты не компилятся, ибо использующихся в них AllocateHwnd/DeallocateHwnd в лазарусе и близко нет...

Что народ посоветует?
mike
новенький
 
Сообщения: 40
Зарегистрирован: 23.02.2007 17:25:00

Сообщение Юра » 24.02.2007 10:14:17

А еще посмотри размер получившейся экзешки. Как по мне, LCL для WinCE на данный момент абсолютно непригоден.

Могу предложить KOL для WinCE:
http://sourceforge.net/projects/kol-ce/

Экзешка с пустой формой 44,5Кб!
Юра
постоялец
 
Сообщения: 163
Зарегистрирован: 25.05.2005 10:20:09
Откуда: Украина, Киев

Re: WinCE и загрузка процессора

Сообщение Sniper » 24.02.2007 18:13:53

mike писал(а):Где взять исходники LCL для WinCE?

Могу выслать конечно, только смысл в них?

В этом пакете нету исходников Lazarus'a? Lazarus-0.9.21-fpc-2.1.1-20070210-win32.exe

Юра писал(а):Как по мне, LCL для WinCE на данный момент абсолютно непригоден.

Согласен : http://wiki.lazarus.freepascal.org/Roadmap
Даже компоненты GTK2 обозначенные там как полностью рабочие, на практике оказываются-неработоспособны из-за багов.
Sniper
постоялец
 
Сообщения: 472
Зарегистрирован: 28.05.2005 13:02:42

Сообщение mike » 25.02.2007 14:30:30

Юра писал(а):А еще посмотри размер получившейся экзешки. Как по мне, LCL для WinCE на данный момент абсолютно непригоден.

Около мегебайта, дальнейший рост при увеличении функциональности весьма медленный.

Могу предложить KOL для WinCE:
http://sourceforge.net/projects/kol-ce/
кзешка с пустой формой 44,5Кб!

Я может чего-нибудь не понимаю, но чем он принципиально лучше WinAPI? Если уж отказываться от визуального дизайнинга и привычных классов, то ИМХО лучше уже вообще никаких прослоек не использовать.... Или я не понял чего-то важного?

Sniper писал(а):Могу выслать конечно, только смысл в них?
В этом пакете нету исходников Lazarus'a? Lazarus-0.9.21-fpc-2.1.1-20070210-win32.exe

В этом пакете их нет мотому как он про wince вообще ничего не знает, а я никогда не поверю что LCL был собран под мобильную винду вообще без правок.
mike
новенький
 
Сообщения: 40
Зарегистрирован: 23.02.2007 17:25:00

Сообщение Юра » 25.02.2007 14:54:32

mike писал(а):
Могу предложить KOL для WinCE:
http://sourceforge.net/projects/kol-ce/
кзешка с пустой формой 44,5Кб!

Я может чего-нибудь не понимаю, но чем он принципиально лучше WinAPI? Если уж отказываться от визуального дизайнинга и привычных классов, то ИМХО лучше уже вообще никаких прослоек не использовать.... Или я не понял чего-то важного?


В KOL используется объектная модель. Поэтому о сравнении с WinAPI речи быть не может.
Для визуального проектирования под KOL есть MCK. Я как раз работаю надо портом MCK для Лазаруса. Вчера закоммитил частично рабочий вариант в SVN.
Юра
постоялец
 
Сообщения: 163
Зарегистрирован: 25.05.2005 10:20:09
Откуда: Украина, Киев

Сообщение mike » 25.02.2007 15:43:57

Юра писал(а):В KOL используется объектная модель. Поэтому о сравнении с WinAPI речи быть не может.

Да, но классы сильно отличаются от VCL/LCL, а заново учиться так лень. Особенно если на API уже много раз писал. Мне в общем развитый интерфейс не нужен, я сетевой сервис писать собрался, в котором из интерфейса - конфигурационное и статусное окно.

Для визуального проектирования под KOL есть MCK. Я как раз работаю надо портом MCK для Лазаруса. Вчера закоммитил частично рабочий вариант в SVN.

14 часов назад, видел, как-же как-же :) Кстати, а как насчет сокетов, есть они в KOL-CE?

P.S. Проект в принципе порожняковый, уже давно мог на шарпе написать, но так хочется на любимом паскале, да без дотнетов всяких!
mike
новенький
 
Сообщения: 40
Зарегистрирован: 23.02.2007 17:25:00

Сообщение Юра » 25.02.2007 22:04:08

Разобраться в KOL можно за полчаса.
В KOL-CE пока есть только сам KOL :)
Для сокетов можно попробовать использовать Synapse.
Юра
постоялец
 
Сообщения: 163
Зарегистрирован: 25.05.2005 10:20:09
Откуда: Украина, Киев

Сообщение Fagot » 27.02.2007 10:34:03

А у меня другая незадача. Во-первых, при компиляции ехешника всего с одной формой и парой кнопок - 10 мегов. Возможно, я не включил где-то оптимизацию. Не суть важно - не самая главная проблема. Главная - StringList. Всё компилится, но если я создаю объект этого класса, программа намертво зависает... Зависает вся поцедура и не выполняюся даже действия до создания объекта. Проще говоря:
Код: Выделить всё
procedure TForm1.Button1Click(Sender: TObject);
var cycle: integer;
    ML,OL:TStringList;
begin
Label3.Caption:='1';
//ML:=TStringList.Create;

Работает, а
Код: Выделить всё
procedure TForm1.Button1Click(Sender: TObject);
var cycle: integer;
    ML,OL:TStringList;
begin
Label3.Caption:='1';
ML:=TStringList.Create;

зависает напрочь, даже не присваивается Лабель... :(
Fagot
незнакомец
 
Сообщения: 5
Зарегистрирован: 14.02.2007 15:52:13

Сообщение mike » 27.02.2007 12:31:36

Fagot писал(а):А у меня другая незадача. Во-первых, при компиляции ехешника всего с одной формой и парой кнопок - 10 мегов.

Поснимай все галки в группе "Debuging" на вкладке "Linking", будет меньше метра.

Главная - StringList. Всё компилится, но если я создаю объект этого класса, программа намертво зависает... Зависает вся поцедура и не выполняюся даже действия до создания объекта.

Код: Выделить всё
procedure TForm1.Button1Click(Sender: TObject);
var
  sl: TStringList;
begin
  sl:= TStringList.Create;
  sl.Add('123');
  sl.Add('456');
  sl.Delete(0);
  sl.Free;
  Label1.Caption:= 'OK';
end;

работает нормально.

зависает напрочь, даже не присваивается Лабель... :(

Приваивается, только отрисоваться не успевает.
mike
новенький
 
Сообщения: 40
Зарегистрирован: 23.02.2007 17:25:00

Сообщение Sniper » 27.02.2007 14:40:30

Fagot писал(а):А у меня другая незадача. Во-первых, при компиляции ехешника всего с одной формой и парой кнопок - 10 мегов.

Опции компилятора->Код->Умное связывание (ставим галочку)
Опции компилятора->Связывание->Отладка-> Выдавать номера строк... (снимаем галочку)
Опции компилятора->Связывание->Стиль сборки->Умное связывание (ставим галочку)
Sniper
постоялец
 
Сообщения: 472
Зарегистрирован: 28.05.2005 13:02:42


Вернуться в Lazarus

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

Сейчас этот форум просматривают: Google [Bot] и гости: 9

Рейтинг@Mail.ru