Поделитесь впечатлениями от FreePascal for WinCE ARM

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

Re: Поделитесь впечатлениями от FreePascal for WinCE ARM

Сообщение haword » 22.03.2009 22:59:07

Ну ты загнул :) Давай сделаем так. Ты качаешь последнюю версию Лазаря для ARM с http://snapshots.lazarus.shikami.org/lazarus/, проверяешь свой проект на нем. Если все равно вылазиют глюки, пробуешь воспроизвести все найденные тобой глюки в отдельной в программе, заливаешь в инет и даешь сдесь ссылку на ее исходный код. Будем разбираться. Так как таких глюков роде бы не замечал. Насчет окна без заголовка уже исправили, как говориться следите за обовлениями :)
haword
постоялец
 
Сообщения: 301
Зарегистрирован: 02.03.2006 11:34:40

Re: Поделитесь впечатлениями от FreePascal for WinCE ARM

Сообщение Medihlorian » 24.03.2009 12:40:33

Залил тестовое приложение на: http://www.sharemania.ru/0222376
Там лежит скрин шот с эмулятора и скриншот ошибки которую генерит лазарус, в случае Access violation и исходники тестового приложения. Окно блин получается на большую часть экрана PDA, в Делфе это просто ошибка и приложение не вылетает после этой ошибки.

Не смог вооссоздать ситуацию когда приложение просто вылетает. Опишу ситуацию: попытка запуска -> мгновенные появление окна и закрытие приложения. После ЭНного количества попыток приложение запускается.

Также не получалось сэмулировать ситуацию когда приложение просто закрывается когда кликнешь куда ни буть. Я даже поставил MessageDlg на OnLoseQuery главной формы проекта. Возможно это связано с той мегоошибкой, которая выскакиевает в случае Access Violation и если код не завренут в Try Except, точнее после неё приложение в некоторый случаях закрывется. Возможно какая то ситуация повторяет часть кода этой ошибки.
Medihlorian
новенький
 
Сообщения: 18
Зарегистрирован: 26.02.2009 15:31:41

Re: Поделитесь впечатлениями от FreePascal for WinCE ARM

Сообщение yantux » 24.03.2009 13:14:19

Medihlorian писал(а):У меня впечатления больше негативные чем позитивные. Система очень не стабильная, и очень неудобная.
Кодить под KOL CE это извращение и полный геморой. И вообще не вижу смысла экономить полтора метра при современных технологиях, тем более что большинство приложений (задуманных мною) ориентировано на работу картинкаи и кнопками (хоть и бесплатные но страшные приложения никому не нужны).

LCL для WinCE очень не стабильна. То извиние, текст не виден, то он кразабрами, то сообщения где то на чукотке пояляются, то приложение после вызова сообщения вылетает, то оно просто вылетает потому что кликнул куда ни буть. Последнее меня добило: вызов обычно команды ShowMessage отображает сообщение на девайсе, но у него в заголовке и кнопка закрыть и кнопка ок а текст виден только на два строчки по три слова и там расположена ещё одна большая кнопка. Тоже самое с MessageDlg но если вызывать MessageBox то половина русского текста становится кракозябрами половина нормально и приложение вылетает!


В багзиллу добавляли????????
yantux
постоялец
 
Сообщения: 133
Зарегистрирован: 29.10.2007 16:02:33
Откуда: Санкт-Петербург

Re: Поделитесь впечатлениями от FreePascal for WinCE ARM

Сообщение Medihlorian » 24.03.2009 15:34:53

Понимаете, в баш треккее половина ошибок устранена, но у меня все не так. Я скачивал версию на 23 марта сего года.
Да и к тому же уважаемый haword говорит что устранено.

И ещё я на в офисе работаю с RAD Studio Delphi 2007 там мне очень нравится MDI интерфейс. Очень удобный он. Чего не скажешь про SDI. Думаю намек ясен?
Medihlorian
новенький
 
Сообщения: 18
Зарегистрирован: 26.02.2009 15:31:41

Re: Поделитесь впечатлениями от FreePascal for WinCE ARM

Сообщение yantux » 24.03.2009 15:56:42

Medihlorian писал(а):Понимаете, в баш треккее половина ошибок устранена, но у меня все не так. Я скачивал версию на 23 марта сего года.
Да и к тому же уважаемый haword говорит что устранено.

И ещё я на в офисе работаю с RAD Studio Delphi 2007 там мне очень нравится MDI интерфейс. Очень удобный он. Чего не скажешь про SDI. Думаю намек ясен?


Нет, уж лучше прямо говорите ! ;)
yantux
постоялец
 
Сообщения: 133
Зарегистрирован: 29.10.2007 16:02:33
Откуда: Санкт-Петербург

Re: Поделитесь впечатлениями от FreePascal for WinCE ARM

Сообщение haword » 24.03.2009 16:01:07

Medihlorian На цвет вкус карандаши разные :)
Я работаю на RAD2009 и он для меня бееее по сравнению с 7 Делфи. Неудобно из за MDI интерфейса.

Далее, насчет ваших ошибок.
1) Lazarus - кросплатформенный RAD IDE, поэтому в uses надо заменить Windows на LCLIntf, LCLType.
или
2) Или делать так -
MessageBox(Self.Handle, PWideChar(UTF8Decode('Это тестовое сообщение на русском языке'+ #13#10+'There is testing message')) , PWideChar(UTF8Decode('Сообщение')), MB_ICONINFORMATION);
Так как все переменные в Лазаре храняться в UTF8 кодировке и когда передаешь параметры напрямую в систему надо их
преобразовать в кодировку системы.

Окошки с ОК и Х , я тебе в другой теме уже давал ссылку http://wiki.lazarus.freepascal.org/Wind ... ment_Notes почитай там все написанно.

А насчет вылетов, как ты заметил версия WinCE - BETA. почаще код оборачивай в try except и смотри что выдает, в большенстве случаев это ошибки с открытиями файлов, после них программы пока вываливаются.
haword
постоялец
 
Сообщения: 301
Зарегистрирован: 02.03.2006 11:34:40

Re: Поделитесь впечатлениями от FreePascal for WinCE ARM

Сообщение Medihlorian » 24.03.2009 16:59:26

Всё верно я так и писал, что вываливается только если в try..except не завернута. Приложение просто закрывается, как будто отправляет винде команду на закрытие. Но неужеле нельзя просто выдать сообщения типа АФТОР У ТЕБЯ ГЛЮК.. и продолжить работу.

Я читал там, и не раз. На баг терккере кто то дает типа рабочий архивчик, но в нем ничего не устранено. А бошльшие тектсы ошибок улетают за пределы экрана, но это уже дело 10-тое.

А про MDI конечно на вкус и цвет товарища нет, но в CodeGear есть вариант переключения MDI/SDI так что если не нравится вам MDI переключитесь в другой режим, но вот на мой взгляд, MDI интерфейс в делфе 2009 удобен тем что там нет туево хучи окошек,которые пуются в большая часть времени уходит на растаскивание этих форточек, да и вообще полноценная развернутая среда способствует большей концетрировании разработчика на работе с проектом.
По крайней мере, пересев на 2007 ую делфю с 7ой я плевался, пока не привык. А вернувшись на 7ую(лазарус) я до сих пор удивляюсь как я раньше кодил... Кстате 2009 ую делфю я узаю около полумесяца, из минусов, малый набор сторонних компонентов, под работы с юникодом.
Medihlorian
новенький
 
Сообщения: 18
Зарегистрирован: 26.02.2009 15:31:41

Re: Поделитесь впечатлениями от FreePascal for WinCE ARM

Сообщение haword » 24.03.2009 17:53:29

Всё верно я так и писал, что вываливается только если в try..except не завернута. Приложение просто закрывается, как будто отправляет винде команду на закрытие. Но неужеле нельзя просто выдать сообщения типа АФТОР У ТЕБЯ ГЛЮК.. и продолжить работу.

ну я щас в багтрекер запостил пач который убирает закрытие прогармы если произошла ошибка в OnCreate формы. Как внесут в svn обновись и посмотрим что далее.

Добавлено спустя 3 минуты 58 секунд:
Насчет 2007 и 2009 меня убивает расположение компонентов с права в столбик. С верху быстрее был к ним доступ чем с боку.
haword
постоялец
 
Сообщения: 301
Зарегистрирован: 02.03.2006 11:34:40

Re: Поделитесь впечатлениями от FreePascal for WinCE ARM

Сообщение скалогрыз » 24.03.2009 19:11:42

haword писал(а):
Всё верно я так и писал, что вываливается только если в try..except не завернута. Приложение просто закрывается, как будто отправляет винде команду на закрытие. Но неужеле нельзя просто выдать сообщения типа АФТОР У ТЕБЯ ГЛЮК.. и продолжить работу.

ну я щас в багтрекер запостил пач который убирает закрытие прогармы если произошла ошибка в OnCreate формы. Как внесут в svn обновись и посмотрим что далее.


вообще идеология VCL (а значит и LCL) диктует, что в случае закрытия основного (первого созданного) окна закрывается всё приложение целиком!

в случае возникновения exception-a в событии OnCreate считается, что происходит ошибка при создании объекта формы (хотя объект уже давно создан). и её (форму) необходимо прибить! А раз основное окно формы уничтожено, то всё приложение должно быть закрыто.

Если уж пишите такие программы, в которых может возникнуть exception при событии FormCreate, то почему бы самостоятельно не позаботиться об этом?
вроде такого:
Код: Выделить всё
procedure TForm1.OnCreate(Sender: TObject);
begin
  try
    ... здесь рисковый код...
  exception
    ShowMessage('АФТОР У ТЕБЯ ГЛЮК');
  end;
end;

сий код НЕ нарушает идиологию LCL и даёт предупреждение об ошибке, если она есть!
скалогрыз
долгожитель
 
Сообщения: 1803
Зарегистрирован: 03.09.2008 02:36:48

Re: Поделитесь впечатлениями от FreePascal for WinCE ARM

Сообщение Medihlorian » 24.03.2009 21:54:12

Если уж пишите такие программы, в которых может возникнуть exception при событии FormCreate, то почему бы самостоятельно не позаботиться об этом?


Ткните пальцем в хоть одну программу более меннее не Hello World, в которой не может возникнуть Exception.

procedure TForm1.OnCreate(Sender: TObject);
begin
try
... здесь рисковый код...
exception
ShowMessage('АФТОР У ТЕБЯ ГЛЮК');
end;
end;


Если уже на то пошло то можно завернуть в Try Excep весь проект между Begin и end. Что обсуждалось в другой ветке форума, что не приводило ни к чему приложение просто закрывалось. Опять же Форма создаётся автоматом до старта приложения и если там глюк с созданием то приложение даже не запустится!

И не надо меня за ламера тут держать да? Если бы вы читали мои посты внимательней то поняли бы что я где то поисал о том что ставил MeesgaDlg на OnCloseQuery и если бы окно получало запрос на закрытие то я бы это точно увидел.

to Haword: Блягодарю, а вы не могли бы дать ссылку на сообщение в баг треккере. А по поводу Delphi 2007-2009 меня радует возможность выбора. Только и всего А вообще я был впечатлён внешним видо Лазаруса, когда поставил последний апдейт.
Medihlorian
новенький
 
Сообщения: 18
Зарегистрирован: 26.02.2009 15:31:41

Re: Поделитесь впечатлениями от FreePascal for WinCE ARM

Сообщение haword » 25.03.2009 13:20:01

пач мой не приняли по идологическим соображениям :) типа если произойдет ошибка при создании любой формы, правильное поведение программы - закрытся, и не беда что иногда она даже не сообщает об ошибке и не закроет предыдущие откртытые формы, ибо сам дурак что не наставил везде try except :)
haword
постоялец
 
Сообщения: 301
Зарегистрирован: 02.03.2006 11:34:40

Re: Поделитесь впечатлениями от FreePascal for WinCE ARM

Сообщение Medihlorian » 25.03.2009 13:43:24

Мдя, стою на асфальте я в лыжи обутый либо лыжи не едут либо разработчкик....

Если уже на то пошло то правильное поведение программы сообщить что не так а потом спросить закрыться или нет. А разработчик если он делает не для личного пользования должен понимать, что такое поведение программы (просто тупо закрылась а чё там. да х... знает.) только раздражает. Программист должен иметь возможность понять что не так. Хотябы узнать что с софтиной что то не так. Я столько времени убил, думая что либо ось у меня слетела с катушек, либо я что то не так сделал. И вообще если произошла ошибка при создании формы, не имеющей кода в обработчиках типа onCreate, то косяк автора сего IDE.

Вы не могли бы прислать мне патч и в кратце рассказать что надо сделать. Буду признателен, или хотябы подсказать куда рыть то надо.

(P.S.: Есть среда такая Palles C не удобная жутко тем что это Cи, а в остальном сказка быстрейшая, визуальная, MDI удобный интерфейс, поддержка иконок и картинок до png 32 + Alpha и т. д. и т. п. а самое главное приложения получаются 18 кб. Но мне нравится паскаль!! И мне бы хотелось что бы автор был не простите бараном упертым в землю, так как я уверен он не в силах сам полностью с разных сторон оценить качество его продукта).

Мне задают часто вопрос почему если Free ПО такое хорошее и бесплатное то люди всё равно покупают, Да потому что платное делают под хотелки пользователей, и пользователям удобно с ним работать, а бесплатное делается многими для автора, и всё тут а в замен автор говорит еб...есь как хотите.
Medihlorian
новенький
 
Сообщения: 18
Зарегистрирован: 26.02.2009 15:31:41

Re: Поделитесь впечатлениями от FreePascal for WinCE ARM

Сообщение haword » 25.03.2009 13:56:27

:)
погоди я видать на эмоциях поспешил с выводом. посмотрим возможно и добавят сегодня в svn. а куда копать так это проще некуда, в lcl/include/customform.inc есть вызов DoCreate, где if Assigned(FOnCreate) then FOnCreate(Self); в делфи такой же вызов по умолчанию обернут Try Except для того чтобы форма всетаки показалась, а в лазаре такого нету.
haword
постоялец
 
Сообщения: 301
Зарегистрирован: 02.03.2006 11:34:40

Re: Поделитесь впечатлениями от FreePascal for WinCE ARM

Сообщение Medihlorian » 25.03.2009 16:36:59

Не помогло :-( Завернул в try .. excpt.

Код: Выделить всё
{------------------------------------------------------------------------------
  Method: TCustomForm.DoCreate
  Params:   none
  Returns:  nothing

  Calls user handler
------------------------------------------------------------------------------}
procedure TCustomForm.DoCreate;
begin
   LockRealizeBounds;
   if Assigned(FOnCreate) then
   try
     FOnCreate(Self);
   except
      MessageBox(0, 'Ошибка приложения', 'Ошибка выполнения приложения', MB_ICONERROR);
   end;
   FFormHandlers[fhtCreate].CallNotifyEvents(Self);
   UnlockRealizeBounds;
end; 


а толку нет.
Medihlorian
новенький
 
Сообщения: 18
Зарегистрирован: 26.02.2009 15:31:41

Re: Поделитесь впечатлениями от FreePascal for WinCE ARM

Сообщение haword » 25.03.2009 17:09:22

прога вываливается всеравно при запуске? а ты точно пересобрал исходники lcl заново все? Просто компиляцией проекта тут не обойтись. Открой ЕХЕ и поищи в нем свою строчку "Ошибка выполнения приложения".
haword
постоялец
 
Сообщения: 301
Зарегистрирован: 02.03.2006 11:34:40

Пред.След.

Вернуться в WinCE

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

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

Рейтинг@Mail.ru