Вход в Зоопарк ручных компьютеров
gps мониторинг, транспортная логистика, gps слежение
today api
"Карманная" версия Базара

 
Начать новую тему   Ответить на тему    Список Базаров Форумы Handy.ru -> Программирование для КПК
Предыдущая тема :: Следующая тема  
Автор Сообщение
rew

Гуру


Зарегистрирован: 21.11.2001
Сообщения: 515
Откуда: 1он ле цион

СообщениеДобавлено: Чт Май 23, 2002 13:26    Заголовок сообщения: today api Ответить с цитатой

скачал пример с http://www.microsoft.com/mobile/developer/technicalarticles/todayapi.asp кое как завелось, но пропадает через некоторое время после запуска прог на пример Sad , и проявляется только после ресета.
как сделать чтоб работало нормально? Rolling Eyes

_________________
asys p505, t630
Вернуться к началу
Посмотреть профиль Отправить личное сообщение Отправить e-mail
AE

Гуру


Зарегистрирован: 21.08.2001
Сообщения: 1981
Откуда: Moscow, Russia

СообщениеДобавлено: Чт Май 23, 2002 21:14    Заголовок сообщения: Ответить с цитатой

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

Априори рискну предположить, что проблема либо в инициализации (когда указываются размеры плагина) либо в обработчике события WM_TODAYCUSTOM_QUERYREFRESHCACHE, либо в WM_PAINT

А попробуй взять пример плагина из PocketPC SDK или PPC2002 SDK и сравнить с ними эти места?. Они-то точно работают
А еще есть TodayCalc (или как-то очень похоже).
А еще есть вот эта отличная статейка для начинающих плагинописателей. Кстати, попробуй сделать WM_TODAYCUSTOM_QUERYREFRESHCACHE как там- мне отчасти помогло.

Ну и http://msdn.microsoft.com/code/default.asp?URL=/code/sample.asp?url=/MSDN-FILES/026/002/489/msdncompositedoc.xml
Вернуться к началу
Посмотреть профиль Отправить личное сообщение Отправить e-mail Посетить сайт автора
tepexob

Маститый писатель


Зарегистрирован: 07.11.2001
Сообщения: 191

СообщениеДобавлено: Чт Май 23, 2002 21:39    Заголовок сообщения: что насчет 2.xx Ответить с цитатой

Есть академический интерес . WinCE 2.xx также имеет вариант active desktop при котором на экране отображается некотарая информация (logo, owner, upcoming, active task и т.д.) Вопрос - а каким образом можно добавить свой элемент к этому active desktop в WinCE 2.xx ?
_________________
Tapac@TEPEXOB.com
Вернуться к началу
Посмотреть профиль Отправить личное сообщение Отправить e-mail
rew

Гуру


Зарегистрирован: 21.11.2001
Сообщения: 515
Откуда: 1он ле цион

СообщениеДобавлено: Пт Май 24, 2002 2:57    Заголовок сообщения: Ответить с цитатой

ок, спасибо, постараюсь разобраться Smile
_________________
asys p505, t630
Вернуться к началу
Посмотреть профиль Отправить личное сообщение Отправить e-mail
rew

Гуру


Зарегистрирован: 21.11.2001
Сообщения: 515
Откуда: 1он ле цион

СообщениеДобавлено: Пт Май 24, 2002 7:10    Заголовок сообщения: УРА!!!! Ответить с цитатой

заработало!!!!
скопировал
Код:
case WM_TODAYCUSTOM_QUERYREFRESHCACHE:
      {
         TODAYLISTITEM *ptli2 = (TODAYLISTITEM *)wParam;
         //ptli2=(struct _TODAYLISTITEM *)wp;
         
         // This is an important part,
         // so pay attention!
         if (0 == ptli2->cyp)
         {
            // Only return true once, when the
            // height is being set.
            ptli2->cyp = MODULE_HEIGHT;
            return TRUE;
         }
         else
         {
            // Most of the time this branch will occur.
            return FALSE;
         }
         
      }
      
      break;

зы правда совсем не врубился что эти строки делают Embarassed

_________________
asys p505, t630
Вернуться к началу
Посмотреть профиль Отправить личное сообщение Отправить e-mail
AE

Гуру


Зарегистрирован: 21.08.2001
Сообщения: 1981
Откуда: Moscow, Russia

СообщениеДобавлено: Пт Май 24, 2002 8:45    Заголовок сообщения: Ответить с цитатой

Хм, как написано в хелпе к PPC2002 SDK,

Цитата:
After the window is created, the Today screen will send WM_TODAYCUSTOM_QUERYREFRESHCACHE to the child window, to determine whether the data it is presenting to the user has changed and should be repainted. To minimize repainting of the Today screen, each item should respond TRUE only if the data actually must be repainted.
Вернуться к началу
Посмотреть профиль Отправить личное сообщение Отправить e-mail Посетить сайт автора
rew

Гуру


Зарегистрирован: 21.11.2001
Сообщения: 515
Откуда: 1он ле цион

СообщениеДобавлено: Пт Май 24, 2002 9:28    Заголовок сообщения: Ответить с цитатой

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

_________________
asys p505, t630
Вернуться к началу
Посмотреть профиль Отправить личное сообщение Отправить e-mail
AE

Гуру


Зарегистрирован: 21.08.2001
Сообщения: 1981
Откуда: Moscow, Russia

СообщениеДобавлено: Пт Май 24, 2002 10:50    Заголовок сообщения: Ответить с цитатой

Понял правильно. И, видимо, в этом и причина была. Хотя скорее всего просто сбрасывался размкер (высота) плагина, которая как раз и возвращается обрабчиком.

У меня вот другая проблема: иногда не отрисовываются эти самые "полоски-разделители". Бился-бился - так и не смог полностью избавиться от этого глюка Sad Перерыл все что мог, нашел два "способа" решить эту проблему - но воз и ныне там... Sad
Вернуться к началу
Посмотреть профиль Отправить личное сообщение Отправить e-mail Посетить сайт автора
rew

Гуру


Зарегистрирован: 21.11.2001
Сообщения: 515
Откуда: 1он ле цион

СообщениеДобавлено: Пт Май 24, 2002 10:55    Заголовок сообщения: Ответить с цитатой

ну и флаг им, чесно говоря не знаю куда их сбагрить Laughing всю фотку располосовали Smile
зы а ты по краям плагина две линии проведи Laughing

_________________
asys p505, t630
Вернуться к началу
Посмотреть профиль Отправить личное сообщение Отправить e-mail
anton95

Маститый писатель


Зарегистрирован: 29.10.2001
Сообщения: 134

СообщениеДобавлено: Пт Июн 14, 2002 21:29    Заголовок сообщения: Ответить с цитатой

AE писал(а):
У меня вот другая проблема: иногда не отрисовываются эти самые "полоски-разделители". Бился-бился - так и не смог полностью избавиться от этого глюка Sad Перерыл все что мог, нашел два "способа" решить эту проблему - но воз и ныне там... Sad


проблема не только у тебя Confused

если не секрет, то что за два способа?
я чтобы исключить мусор снизу (при сжатии плагина - уменьшении высоты) - запрашивал размер в на 5 линий больше чем мне требовалось.
и чтобы исключить излишнее мерцание - в wm_paint ингорировал отрисовку, если размер для отрисовки не совпадает с запрошенным.
(зафиксировал несколько ситауций, когда при изменении высоты wm_paint вызывался с несколькими размерами высоты

_________________
/Anton95
LOOX, E-125, E-200, Viking CF-256Mb,Viking CF Modem-56k
Palm-V
Ericsson T39m
Вернуться к началу
Посмотреть профиль Отправить личное сообщение Посетить сайт автора
anton95

Маститый писатель


Зарегистрирован: 29.10.2001
Сообщения: 134

СообщениеДобавлено: Пт Июн 14, 2002 21:36    Заголовок сообщения: Re: УРА!!!! Ответить с цитатой

rew писал(а):
заработало!!!!
скопировал
Код:
case WM_TODAYCUSTOM_QUERYREFRESHCACHE:
/*skipped*/      {
      }
      break;

зы правда совсем не врубился что эти строки делают Embarassed


дело в том, что WM_TODAYCUSTOM_QUERYREFRESHCACHE
вызывается приблизительно раз в секунду.
и если ты каждую секунду будешь отдавать TRUE - то todayAPI будет каждый раз перерисовывать твой плагин.
если ты отдаешь FALSE - это как бы говорит TodayAPI что изменений в данных которые ты оборажаешь на эране нету - а значит и не надо его перерисовывать.

Лично я так растолковал для себя Cool

_________________
/Anton95
LOOX, E-125, E-200, Viking CF-256Mb,Viking CF Modem-56k
Palm-V
Ericsson T39m
Вернуться к началу
Посмотреть профиль Отправить личное сообщение Посетить сайт автора
rew

Гуру


Зарегистрирован: 21.11.2001
Сообщения: 515
Откуда: 1он ле цион

СообщениеДобавлено: Сб Июн 15, 2002 10:03    Заголовок сообщения: Ответить с цитатой

да уж пошаманить пришлось... Laughing тока вот у меня вроде репаинт каждую минуту делает вроде.. но это не суть важно Very Happy
_________________
asys p505, t630
Вернуться к началу
Посмотреть профиль Отправить личное сообщение Отправить e-mail
anton95

Маститый писатель


Зарегистрирован: 29.10.2001
Сообщения: 134

СообщениеДобавлено: Сб Июн 15, 2002 18:34    Заголовок сообщения: Ответить с цитатой

rew писал(а):
да уж пошаманить пришлось... Laughing тока вот у меня вроде репаинт каждую минуту делает вроде.. но это не суть важно Very Happy



попробуй код типа вот такого...
Код:

BOOL FirstInit=TRUE;

     case WM_TODAYCUSTOM_CLEARCACHE:
        FirstInit=TRUE;
        break;

    case WM_TODAYCUSTOM_QUERYREFRESHCACHE:
       if (FirstInit) {

         ((TODAYLISTITEM *)(wparam))->cyp = НУЖНЫЙ РАЗМЕР;
          FirstInit=FALSE;
          return TRUE;
       } else return FALSE;

_________________
/Anton95
LOOX, E-125, E-200, Viking CF-256Mb,Viking CF Modem-56k
Palm-V
Ericsson T39m
Вернуться к началу
Посмотреть профиль Отправить личное сообщение Посетить сайт автора
Показать сообщения:   
Начать новую тему   Ответить на тему    Список Базаров Форумы Handy.ru -> Программирование для КПК Часовой пояс: GMT - 10
Страница 1 из 1

 
Перейти:  
Вы не можете начинать темы
Вы не можете отвечать на сообщения
Вы не можете редактировать свои сообщения
Вы не можете удалять свои сообщения
Вы не можете голосовать в опросах
Вы не можете добавлять вложения в этом форуме
Вы можете просматривать вложения в этом форуме



Форумы Handy.ru 


Powered by phpBB © 2001 phpBB Group