Программеры! Помогите разобрать системную ошибку PalmOS!

Обсуждаем карманные компьютеры под управлением Palm OS
Закрыто
Mishgan
Новенький (0 lvl)
Сообщения: 3
Зарегистрирован: Ср июн 04, 2003 15:03

Программеры! Помогите разобрать системную ошибку PalmOS!

Сообщение Mishgan » Вт мар 26, 2002 18:10

Дело такое:
создал я свое приложеньеце под PalmOS, пущаю его на Palm III или Palm V, все замечательно! Но вот приложенье отработало свое и стало быть return 0 и усе. Но не тут-то было! Системная команда SysAppExit, выполняющаяся после него и освобождающая память, выдает системную ошибку Fatal Exeption. Видимо, пытаясь подчистить за моим приложением, она залазит куда-то не туда. Вопрос: что могло это вызвать, виноват ли я и что делать?

Аватара пользователя
Tim N. Tashpulatov
Студент (1 lvl)
Сообщения: 43
Зарегистрирован: Ср июн 04, 2003 15:03

Программеры! Помогите разобрать системную ошибку PalmOS!

Сообщение Tim N. Tashpulatov » Ср мар 27, 2002 11:33

А исходный код покажи?

Mishgan
Новенький (0 lvl)
Сообщения: 3
Зарегистрирован: Ср июн 04, 2003 15:03

Такое предположение +

Сообщение Mishgan » Пт мар 29, 2002 14:25

Вобщем я делаю практически так же, только вместо MemPtrNew() использую такую последовательность:

handle = MemHandleNew(size);
ptr = MemHandleLock(handle);

Такое предположение: может в конце каждой функции стоить делать MemPtrFree на все указатели? Так, на всякий случай... А в моем случае на все созданые хэндлы делать MemHandleFree? До этого таким не занимался, расчитывая на сообразительность системы.

Mishgan
Новенький (0 lvl)
Сообщения: 3
Зарегистрирован: Ср июн 04, 2003 15:03

Нашел, блин! +

Сообщение Mishgan » Пн апр 01, 2002 13:39

> ОБЯЗАТЕЛЬНО надо освобождать память, когда она не нужна. Тоже распространенная причина багов. Выделил память, поработал, отдал память обратно. Скорее всего в этом и ошибка. В Palm с памятью надо очень осторожно обращаться.

Это я учту, но ошибка была не в этом. В общем, как ты и предпологал, я копировал текст в строку, выделив ей недостаточно памяти :( Мда, сто раз проверял это место, видимо примелькалось, бывает... :(
Спасибо за помощь!

Закрыто

Вернуться в «Palm OS: Palm, Treo, Sony Clie и другие»