Показать сообщение отдельно
Старый 07.10.2009, 13:09   #3  
Alexius is offline
Alexius
Участник
Аватар для Alexius
 
461 / 248 (9) ++++++
Регистрация: 13.12.2001
Цитата:
Сообщение от DSPIC Посмотреть сообщение
На самом деле, проблема в самом BOX. При таком способе вызова (из modified\validate) BOX банально не успевает отрисоваться на экране (не проверял, но может связано с его модальностью), хотя он активен и успешно опрашивает клавиатуру. Попробуйте, нажать дефолтовую клавишу бокса во время такого "повисания".
У меня не появляется сам бокс и АХ перестает реагировать на все "раздражители", не помогают ни Ctrl-Break, Ctrl-F4, Alt-F4, ни попытки закрыть окно мышкой (наугад).
Цитата:
Сообщение от DSPIC Посмотреть сообщение
Можно вместо BOX'а испольховать Dialog, тогда проблемы не возникает, хотя форма неприятно мельтешит, создавая эффект повисания.
Да, диалог можно закрыть, но исходная форма зависает, хотя кажется, что кроме "мельтешения" все ОК: можно ходить по строкам, но при изменении поля окно диалога не вызывается, значения в поле не сохраняются и загрузка проца никуда не делась. В голом виде не вариант решения.
Цитата:
Сообщение от DSPIC Посмотреть сообщение
Вообще говоря, не часто встречаются боксы на методах-событиях, так что сложно это отнести к багу, скорее всего это bad practice.
Нашел один из "Bad Practices" на слое SYS: Form/SalesQuickQuote. Там такой-же зависон.
Цитата:
Сообщение от DSPIC Посмотреть сообщение
Попробуйте повернуть реализацию задачи в сторону традиционных проверок validateField\Write.
Пробовал и туда переносить, не помогло.

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