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

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

Аватара пользователя
FedeX
постоялец
Сообщения: 422
Зарегистрирован: 27.03.2006 09:25:34
Откуда: украина, житомир

Сообщение FedeX »

Здравствуйте!

Пытаюсь использовать FreePascal/KOL-CE для программирования под смартфоны. Вообщем всё работает, но есть две большие проблемы, которые не могу решить.
Первая: Когда форм больше одной (и при динамическом создании и при заранее созданной, но спрятанной форме), вторую форму не удаётся растянуть на весь экран (если на ней есть контролы) и установить ей меню. Если же на ней нет контролов, то это удаётся сделать (и меню и во весь экран), но при её уничтожении (формы), полностью блокируется главное меню.
Но эта проблема не столь фатальна...

Вторая (более важная): никак не получается переключаться между большинством контролов. В большинстве приложений для смартфонов переключение между контролами осуществляется курсором (стилуса в смартфонах ведь нет). Но, я пытался писать и на WinAPI и при помощи KOL, и никак не могу понять как это осуществить. Всякие функции вроде SetFokus не помогают. Стили тоже пробовал менять (устанавливал контролам WS_GROUP стиль, WS_TABSTOP - но ведь кнопки TAB на смартфоне нет!!!) При открытии окна с EditBox-ами первый из них ловит фокус и ни за что его не отдаёт. Пробовал искать что пишется по этому поводу в Windows Mobile 5.0 Smartphone SDK(у меня только *.chm файлы из него) и ничего не могу найти. Такое впечатление, что это сплошной копипаст из Windows Mobile 5.0 PDA SDK.

Может кто знает/подскажет как решить хотя-бы вторую проблему? :cry:
Юра
постоялец
Сообщения: 163
Зарегистрирован: 25.05.2005 10:20:09
Откуда: Украина, Киев

Сообщение Юра »

1. Не совсем понял. Нужно полноэкранное приложение?

2. Для формы нужно включить свойство Tabulate (если используется MCK), либо вызвать метод Tabulate если чистый KOL.
Аватара пользователя
FedeX
постоялец
Сообщения: 422
Зарегистрирован: 27.03.2006 09:25:34
Откуда: украина, житомир

Сообщение FedeX »

1. Ну не на полный экран, а как большинство окон на смарте - чтоб менюбар и системное меню формы были видны. Вот как здесь:
Изображение
Если просто создавать вторую форму следствами МСК, и устанавливать defaultPosition и defaultSize, то не удается установить меню этой формы (иногда программа вообще выпадает, иногда блокируется), если просто создавать вторую форму средствами КОЛ, то получается не на весь экран:
Изображение
К этой форме можно установить меню
(посредством OkCancelMenu:=NewMenu(propForm,2,['Ok','Cancel'],TOnMenuItem(MakeMethod(nil,@propMenu)));),
но при закрытии формы блокируется меню основной формы.

2. Cпасибо огромное. Очень помогло!
Пабло
незнакомец
Сообщения: 4
Зарегистрирован: 27.06.2008 18:16:46

Сообщение Пабло »

Что-то у меня ключик -Fccp1251 не работает. Где его применять (в проекте? при компиляции FPC?) Как в Лазарусе его задавать? И как собрать компилер с cp1251.pas? Объясните пожалуйста!
Юра
постоялец
Сообщения: 163
Зарегистрирован: 25.05.2005 10:20:09
Откуда: Украина, Киев

Сообщение Юра »

Нужно юзать компилятор 2.2.1 или выше. Ключик -Fccp1251 прописать на закладке Other в поле Custom Options.
yurc
незнакомец
Сообщения: 4
Зарегистрирован: 13.12.2008 13:29:02

Сообщение yurc »

Столкнулся с такой проблемой:
использую lazarus-0.9.27-17051-fpc-2.2.3-20081019-win32 + lazarus-0.9.27-17051-fpc-2.2.3-20081019-cross-arm+ Kol-ce-2.80.2,
при использовании функции Double2Str присходит неправильный вывод значения
(т.е. Double2Str(120*0.01) получается равно 1.1, а не 1.2, хотя Double2Str(110*0.01 получается правильно 1.1) ).
Ошибка происходит в приложении скомпилированном для winCE. Однако при компиляции для win32 все выполняется правильно.
В lazarus 0.9.26 проверить пока не возможно. Это глюк происходит только у меня? может кто-нибудь проверит?

Добавлено спустя 6 минут 32 секунды:
Забыл добавить. При использовании FloatToStr из SysUtils все работает нормально. Но не хочется добавлять 20 кб к приложению в 36кб.
Nerka
незнакомец
Сообщения: 1
Зарегистрирован: 23.12.2008 02:05:43

Сообщение Nerka »

Double2str rabotaet nekorektno. Ja vot nashel ekvivalent s kotorim problem net.

function MyDouble2Str(D: Double; Width, Precision: Integer; CutEndZeroes: Boolean): String;
var
Temp: String;
begin
if not CutEndZeroes then
begin
Str(D: 0: Width, Temp);
if Precision < Width*2 - Length(Temp) then
Precision := Width*2 - Length(Temp);
end
else
Precision := 15;

Str(D: Width: Precision, Result);
if CutEndZeroes then
begin
while Result[Length(Result)] = '0' do
Delete(Result, Length(Result), 1);
if Result[Length(Result)] = '.' then
Delete(Result, Length(Result), 1);
Insert(StringOfChar(' ', Width-Length(Result)), Result, 1);
end;
end;
ya_mag
незнакомец
Сообщения: 3
Зарегистрирован: 30.12.2008 08:12:31

Сообщение ya_mag »

люди!! кому не сложно можете перевести по человечески ФАК по установке и настройке KOL MCK плиз! а то у меня с английским туго :(
заранее спасибо!
Sawer
новенький
Сообщения: 69
Зарегистрирован: 15.05.2007 22:53:48

Сообщение Sawer »

ya_mag писал(а):люди!! кому не сложно можете перевести по человечески ФАК по установке и настройке KOL MCK плиз! а то у меня с английским туго :(
заранее спасибо!

ман тут http://www.kolnmck.ru/lessons/lazarus_use.shtml, но сайт лежит уже долго!
напиши в личку мэйл свой. я тебе скину сохраненную страницу...
Sawer
новенький
Сообщения: 69
Зарегистрирован: 15.05.2007 22:53:48

Сообщение Sawer »

Ман из предыдущего поста куда выложить? А то сайт вроде вообще не заработает, а людям интересно (думаю)!
ev
долгожитель
Сообщения: 1786
Зарегистрирован: 27.04.2005 23:19:06
Откуда: Москва

Сообщение ev »

можно прислать мне и выложим тут ;)
osetsky
незнакомец
Сообщения: 4
Зарегистрирован: 23.02.2009 16:45:07
Откуда: Владивосток

Сообщение osetsky »

Сайт переехал сюда:http://kolnmck.kolmck.net/, а вот ссылку на форум KOL&MCK, который с "Мастеров Делфи" переехал я потерял. Никто не поделится?
Mr.Smart
долгожитель
Сообщения: 1796
Зарегистрирован: 29.03.2008 00:01:11
Откуда: из леса!

Сообщение Mr.Smart »

osetsky писал(а):Сайт переехал сюда:http://kolnmck.kolmck.net/, а вот ссылку на форум KOL&MCK, который с "Мастеров Делфи" переехал я потерял. Никто не поделится?

Разве не та ссылка?
osetsky
незнакомец
Сообщения: 4
Зарегистрирован: 23.02.2009 16:45:07
Откуда: Владивосток

Сообщение osetsky »

Мда.. Уже работает. На прошлой неделе заходил(он у меня в закладках), видел только предложение купить домен delphimaster.ru.
Keeper
новенький
Сообщения: 22
Зарегистрирован: 05.08.2009 13:11:06
Откуда: Ярославль

Сообщение Keeper »

Всем привет! Разрабатываю небольшую программку под win ce используя kol и api. Возник следущий вопрос: есть ли способ принудительно выдвинуть экранную клавиатуру? Это, конечно, не первой необходимости задача, но для повышения юзабилити было бы неплохо сделать так, чтобы при установке фокуса на эдитбокс клавиатурка сама выдвигалась.
Ответить