
![]() |
Наши проекты:
Журнал · Discuz!ML · Wiki · DRKB · Помощь проекту |
|
ПРАВИЛА | FAQ | Помощь | Поиск | Участники | Календарь | Избранное | RSS |
[216.73.216.52] |
![]() |
|
Сообщ.
#1
,
|
|
|
Привет всем.
Создал в приложении аларм, прилепил свою формочку, которую вызываю в диалоговом режиме. Когда юзер находится в моем приложении, и аларм срабатывает, то всё работает. Но когда юзер вышел из приложения, и находится, ну например, видит рабочий стол, то при срабатывании аларма креш. Дебагом выявил, что программа моя падает вот на этой строке: ![]() ![]() FrmHideObject (FrmGetActiveForm(), FrmGetObjectIndex (FrmGetActiveForm(), AlarmCompleteButton)); id моей формы определяется правильно, FrmGetObjectIndex () также возвращает корректное значение, т.е. проблема в FrmHideObject(). Нужно скрыть одну лишнюю кнопку в определенной ситуации, в других ситуациях она нужна. Если комментю эту строку всё работает. Так вот я не могу понять почему, если формачка аларма была вызвана в момент когда юзер находится в приложении, то я имею полное право изменять свойства объектов (скрывать их в данном случае), а иначе нет! Подскажите, в чем я запутался |
Сообщ.
#2
,
|
|
|
Я понял, нельзя обращаться к форме со стороны в то время, как для нее крутится EventHandler.
|
Сообщ.
#3
,
|
|
|
Что значит 'со стороны'?
![]() |
Сообщ.
#4
,
|
|
|
Цитата Что значит 'со стороны'? например по какому-нибудь notification открывается форма приложения и для нее начинает крутится EventHandler. После этого срабатывает другой обработчик для уведомления, управление передается ему и если из него попытаться обращаться к ресурсам первой формы, то программа будет падать на РЕАЛЬНОМ pda, из-за locking. Я эту проблему решил т.о., что перестал обращаться напрямую из второго обработчика к ресурсам первой формы, а вместо этого посылаю на эту формочку событие, по которому в последствии EventHandler первой формы сам выполняет все необходимые действия по работе со своими ресурсами |