HPC.ru lite - Все форумы
Форум: Программирование для КПК
Тема: Отладка Today
[Ответить]
trener_s [01.04.2005 11:58] Отладка Today:
Привет народ!
Вопроса про тудей у меня два.
1. Как его отлаживать в эмуляторе? Я так понимаю, что при каждом запуске создаётся новая VM, а ведь dll тудея надо ещё в реестре прописать, прежде чем он заработает. Как лучше это сделать на eVC3?
2. Запустил Тудей на основе микрософтовского на железе. Проблема в том, что бэкграунд портится даже с прозрачностью.
Нашёл следующий код, но я в нём чего-то не догоняю. Почему WM_ERASEBKGND, а не WM_PAINT?
case WM_ERASEBKGND:
{
TODAYDRAWWATERMARKINFO dwi;
dwi.hdc = (HDC)wp;
GetClientRect(hwnd, &dwi.rc);
dwi.hwnd = hwnd;
SendMessage(GetParent(hwnd), TODAYM_DRAWWATERMARK, 0,
(LPARAM)&dwi);
return TRUE;
}
break;
---
Последний вопрос не в тему.
Раньше у меня стоял eVC4, но плохо работал. Я его снёс, а теперь не могу поставить, после какого-то процента инсталляции он вдруг отматывает прогрессбар назад и говорит, что не смог.
Кто-нибудь сталкивался? А то жалко день на переустановку виндов тратить.
_________________
KAjFASH [01.04.2005 12:45] Re: Отладка Today:
trener_s писал(а):
1. Как его отлаживать в эмуляторе? Я так понимаю, что при каждом запуске создаётся новая VM, а ведь dll тудея надо ещё в реестре прописать, прежде чем он заработает. Как лучше это сделать на eVC3?
При закрытии емуля нужно выбирать "Save emulator state" - он тады запоминает состояние.trener_s писал(а):
2. Запустил Тудей на основе микрософтовского на железе. Проблема в том, что бэкграунд портится даже с прозрачностью.
Нашёл следующий код, но я в нём чего-то не догоняю. Почему WM_ERASEBKGND, а не WM_PAINT?
Перед WM_PAINT обычно вызываетса WM_ERASEBKGND который просто очищает фон. Он нужен для того чтобы например в едите залился белый фон или в диалоге серый. Уже после него вызываетса WM_PAINT который на "чистом" окне вырисовывает то что нужно. Если самому обрабатывать WM_ERASEBKGND то можно добитса прозрачность фона, или вырисовывать картинку, а уже операционка будет дорисовывать в WM_PAINT.
Сюдя с этого кода:
SendMessage(GetParent(hwnd), TODAYM_DRAWWATERMARK, 0,
(LPARAM)&dwi);
Окну тудея (паренту) передаетса клиентская часть вашего плагина. Парент и рисует фон.
trener_s [05.04.2005 11:01] :
Привет народ!
Спасибо за объяснения, вроде разобрался в теории и добавил прозрачность в проект.
Теперь проблема запустить на эмуляторе. Хотелось бы и в этом разобраться. На Эмуляторе не могу понять, как редактировать реестр. По всей видимости ламерская проблема. Может подскажете, как это правильно делается на Эмуляторе. На железе то я сделал. Даже видать всё, что хотел.
Теперь вторая проблема. Я при установке eVC4 не доставил ARMcompiler_SP2 и поставил сервиспак 3.
Теперь я могу компилить только для x86 и ARM IV. Если у кого-то есть под рукой линк про то, что такое ARM iV и подойдёт ли он мне (ipaq rz1710), то киньте мне плиз.
А то тудейные глюки иногда лечаться Хардресетом. Нехочу неизвестную вещь совать в железо.
---
Чуть не забыл.
Какая прога заворачивает результат в .cab файл? Я потом свой тудей хочу друзьям раздать.
KAjFASH [05.04.2005 14:25] :
trener_s писал(а):
На Эмуляторе не могу понять, как редактировать реестр. По всей видимости ламерская проблема. Может подскажете, как это правильно делается на Эмуляторе.
В eVC: "Tools"->"Remote Registry Editor", затем выбираеш платформу и "Pocket PC XXX Emulator".trener_s писал(а):
Я при установке eVC4 не доставил ARMcompiler_SP2 и поставил сервиспак 3.
Теперь я могу компилить только для x86 и ARM IV. Если у кого-то есть под рукой линк про то, что такое ARM iV и подойдёт ли он мне (ipaq rz1710), то киньте мне плиз.
Подойдёт, а линка нету.trener_s писал(а):
Какая прога заворачивает результат в .cab файл? Я потом свой тудей хочу друзьям раздать.
Смотри сюды
[Ответить]