На главную Наши проекты:
Журнал   ·   Discuz!ML   ·   Wiki   ·   DRKB   ·   Помощь проекту
ПРАВИЛА FAQ Помощь Участники Календарь Избранное RSS
msm.ru
! Правила раздела "Программирование под PalmOS"
Правила раздела просты:
1. Будьте вежливыми.
2. Задавате вопросы только по теме. Пользовательские вопросы (у меня не работает пальм) являются оффтопиком. Пользуйтесь конференциями palmz.in, hpc.ru, ihand.ru .
3. Поиск вареза запрещен.
4. Пользуйтесь поиском. Не надейтесь, что кому-то доставляет удовольствие отвечать в сотый раз на один и тот же вопрос.
  
> Падение при закрытии алерта на OS 5.x
    В обработчике sysAppLaunchCmdGoTo (реализация Global Find), если приложение уже запущено, вызываю FrmCloseAllForms(). После этого вызывается FrmCustomAlert(). При закрытии этого алерта на TE получаю Fatal Error. Симуляторы просто падают без каких-либо внятных сообщений об ошибке. Однако на эмуляторе 3.5 и 4.0 все работает прекрасно. Ковыряние в исходниках PalmOS тоже не привело к какому-либо пониманию такого падения - все функции проверяют наличие текущей формы и при ее отсутствии не пытаются с ней работать.
    Если алерт вызывать до FrmCloseAllForms(), ничего не падает.
    Тот же алерт, вызванный при старте программы, пока ни одной формы еще не создалось, работает нормально.
      FrmCloseAllForms посылает в обработчики событий загруженных форм событие frmCloseEvent. Возможно, ты обрабатываешь это событие так, как нельзя этого делать при sysAppLaunchCmdGoTo, например используешь глобальные переменные или вызовы в другие сегменты кода. Хотя, ты проверяешь, что твоё приложение уже запущенно... Но всё равно поройся на тему того, как работает FrmCloseAllForms.

      Добавлено
      Ещё возможны проблемы с переполнением стэка - увеличь его для своего приложения хотя бы до 8-16Kb.
        Я пробовал перед вызовом алерта все имеющиеся в очереди сообщения скормить соответствующим обработчикам. К сожалению это не исправило ситуацию. Увеличение стека тоже не помогает.
        В тексте функции FrmActiveState() (она вызывается для сохранения/восстановления текущей формы/окна в том числе и из FrmCustomAlert) обнаружились любопытные комментарии: "Remove for now, since this introduces other bugs...". Быть может в PalmOS 5.x решили вернуть этот код к жизни? :blink:
          :wall:
            :oops:
            0 пользователей читают эту тему (0 гостей и 0 скрытых пользователей)
            0 пользователей:


            Рейтинг@Mail.ru
            [ Script execution time: 0,0172 ]   [ 15 queries used ]   [ Generated: 18.04.24, 07:27 GMT ]