Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "KOL";
Текущий архив: 2009.04.12;
Скачать: [xml.tar.bz2];

Вниз

Обработка событий под wince   Найти похожие ветки 

 
tim128 ©   (2007-12-24 19:43) [0]

Подскажите, как под wince при нажатии на крестик завершить приложение? Ни одно из событий OnHide, OnClose, OnLeave, OnMinimize при этом не возникает. И есть какие-нибудь примеры исходников использования KOL под wince?

И еще, не выводится по русски TLabel.Caption:=.... Пробовал и resourcestring и Ansi2Wide. Под WinCE на imate sp3 по-русски, а в MS Windows Mobile 5.0 MSFP Emulator  и на IPAQ 4700 WM2003 SE кракозябры.


 
mdw ©   (2007-12-24 20:48) [1]


> Подскажите, как под wince при нажатии на крестик завершить
> приложение? Ни одно из событий OnHide, OnClose, OnLeave,
>  OnMinimize при этом не возникает.

Срабатывает WM_CANCELMODE. Хотя закрывать по крестику не очень соответствует самой идеологии wince. Правильнее, думаю, все же давать системе самой решать что делать, ну и можно добавить пункт меню "выход". Хотя, конечно, зависит и от задачи.

> И есть какие-нибудь примеры исходников использования KOL
> под wince?

Да какие примеры? тоже самое что и не под wince, ну может небольшая специфика есть.

> И еще, не выводится по русски TLabel.Caption:=.... Пробовал
> и resourcestring и Ansi2Wide. Под WinCE на imate sp3 по-
> русски, а в MS Windows Mobile 5.0 MSFP Emulator  и на IPAQ
> 4700 WM2003 SE кракозябры.

Да вроде не было проблем, а регион русский стоит в региональных настройках?


 
mdw ©   (2007-12-24 20:49) [2]

В догонку. На 4700 WM2003 SE у меня все прекрасно работает.


 
tim128 ©   (2007-12-24 21:12) [3]

Спасибо,

Закрытие приложения я хотел сделать на время разработки, а то задалбывает его закрывать в эмуляторе.

А про русский - это я ступил, в эмуляторе конечно забыл поставить региональные настройки. А на IPAQ видимо забыл проверить после использования Ansi2Wide, сейчас попробовал все работает.


 
Бельчонок   (2007-12-24 21:34) [4]

Опа! А что, на KOL и под WinCE можно программы делать??? Скажите как? где искать информацию и всякие эмуляторы, что бы не надо было выкачивать 500 Мб SDK от майкрософта???


 
ANTPro ©   (2007-12-24 21:45) [5]

> [4] Бельчонок   (24.12.07 21:34)

kolnmck.ru


 
Бельчонок   (2007-12-24 21:55) [6]

ааа, под Лазаря... я уж думал можно просто в Дельфи...


 
Бельчонок   (2007-12-24 21:58) [7]

Ну уж тогда по ходу вопрос к знающим людям, что бы зря не качать, если что, а там работа с сенсорным экраном поддерживается?


 
tim128 ©   (2007-12-24 22:17) [8]


> ааа, под Лазаря... я уж думал можно просто в Дельфи...

Вот я ради wince изучаю лазарус и кол.

Вот такая проблема теперь - в design-time создаю TKOLLabel c VerticalAlign=vaCenter. Все нормально. В run-time задаю ему top,left,width,height и вертикальное выравнивание пропадает. Добавление VerticalAlign:=vaCenter и в run-time не помогает.

И еще может я зря за кол взялся? Я смогу c XML в нем работать?


 
Yury Sidorov   (2007-12-24 22:32) [9]

Бельчонок: Сенсорный экран, естественно, поддерживается. Для программ это выглядит как управление мышкой.

tim128: VerticalAlign под wince не работает, т.к. это не поддерживается самой ОС.  Нужно самому вычислять высоту текста и центрировать текст...

XML к KOL особого отношения не имеет. В поставке FPC есть компоненты для работы с XML. Можно их попользовать.


 
tim128 ©   (2007-12-24 22:36) [10]

А размер 70К для wince нормально? А то говорилось о приложениях размером по 10К?


 
ANTPro ©   (2007-12-25 00:02) [11]

> [10] tim128 ©   (24.12.07 22:36)
> А то говорилось о приложениях размером по 10К?

Это для Win32 в Delphi. Для WinCE — 40кб если я не ошибаюсь.


 
finder2007   (2007-12-25 11:25) [12]

А где можно взять портированные заголовки WinAPI, например WinInet? Как открыть файл внешней программой (аналог ShellExecute)?


 
tim128 ©   (2007-12-25 12:41) [13]


> Как открыть файл внешней программой (аналог ShellExecute)?

Присоединяюсь к вопросу

И как под wince определить каталог изпод которого запущено приложение?


 
Yury Sidorov   (2007-12-25 13:15) [14]

finder2007: С WinInet есть 2 варианта:
1. Взять юнит из Win32 и подправить в нем что нужно для работы под wince.
2. Wininet.h из wince SDK + h2pas + руки = Wininet.pas для wince.
После этого полученный юнит выслать мне и я его включу в FPC.

Пользуй ShellExecuteEx.

Рекомендую качнуть wince SDK и пользоваться хелпом. Там можно смотреть, что поддреживается (и насколько), а что нет.

tim128: Каталог определяется также как и везде - выкусыванием пути из ParamStr(0).


 
tim128 ©   (2007-12-26 09:37) [15]

Спасибо за оперативные ответы


> XML к KOL особого отношения не имеет. В поставке FPC есть
> компоненты для работы с XML. Можно их попользовать.


Попробовал. Одно добавление ReadXMLDocument() (uses XMLRead, DOM) вызвало увеличение размера приложения до 270К. Хуже то что один вызов ReadXMLDocument() для открытия xml файла размера 7Мб съедает больше 20Мб оперативки, что для мобильного устройства просто катастрофа. Можете что-нибудь посоветовать в каком направлении двигаться?


 
Yury Sidorov   (2007-12-26 12:30) [16]

Видно эти компонеты не заточены под работу с файлами большого объема (весь файл читается в память).
В таком случае лучше писать специализированый парсер самому...


 
tim128 ©   (2008-01-07 14:09) [17]

Спасибо за советы. Написал упрощенный парсер xml под свою задачу. На дельфях сделал проект под win32, на лазарусе под wince. Под win32 файл размером 7Мб разпарсивается за секунду, на ipaq4700 за 5 секунд. При том что нотепад на P4 открывает его секунд 10. Основной выйгрыш скорости достигнут за счет отказа от паскалевских стрингов. Даже под wince где процедуры работы со строками в KOL написаны не на ассемблере скорость работы впечатляющая. Теперь вопрос -

Как по wince на время пока грузится файл вывести крутилку (аналог песочных часов в win2003 mobile)?


 
Yury Sidorov   (2008-01-07 14:34) [18]


> Как по wince на время пока грузится файл вывести крутилку
> (аналог песочных часов в win2003 mobile)?

Меняй мышиный курсор на часики и будет тебе "крутилка" под wince.


 
tim128 ©   (2008-01-07 17:14) [19]

Так просто 8) ... спасибо, сейчас попробую. Вот еще вопрос - почему после того как меняю KOLForm.WindowState:=wsMaximize в среде разработки, перестает возникать событие onFormShow?


 
Yury Sidorov   (2008-01-07 19:14) [20]

Изменение WindowState я не смотрел вообще, т.к. это не работает на покете. Поэтому могу лишь посоветовать его не трогать :)


 
tim128 ©   (2008-01-07 19:39) [21]

это на win32 onShow перестает работать, извиняюсь что не указал (парсер приходится отлаживать привычным способом). И еще беда - в TKOLButton не работает WordWrap:=true


 
tim128 ©   (2008-01-08 15:14) [22]

Насчет wordwrap - похоже косяк в исходниках KOL. У меня версия 2.80. Пока смог выйти из положения с помощью:

b:=NewButton(Form,"Button");
b.Style:=b.Style or BS_MULTILINE;



Страницы: 1 вся ветка

Форум: "KOL";
Текущий архив: 2009.04.12;
Скачать: [xml.tar.bz2];

Наверх





Память: 0.5 MB
Время: 0.005 c
15-1234647001
Юрий
2009-02-15 00:30
2009.04.12
С днем рождения ! 15 февраля 2009 воскресенье


2-1235218488
Cobalt
2009-02-21 15:14
2009.04.12
Запустить TThread повторно?


2-1235307235
Sfinx
2009-02-22 15:53
2009.04.12
Отображение кнопки на панели задач.


15-1234643283
Думкан
2009-02-14 23:28
2009.04.12
Как переименовать фрейм TFrame2 = class(TFrame) ?


9-1178359698
frame3
2007-05-05 14:08
2009.04.12
спрайты





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский