![]() |
|
|
Регистрация Восстановить пароль |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
![]() |
|
|
Опции темы | Поиск в этой теме |
![]() |
#1 |
Пользователь
Регистрация: 06.04.2012
Сообщений: 78
|
![]()
Здравствуйте!
Совершенно бредовая проблема - есть два схожих диалога ввода данных в обоих работает одинаковая схема обработки кнопки "Сохранить", а именно срабатывает блок Проверки проверяя все требуемые поля на ввод и если всё введено верно - срабатывает блок Сохранения и потом закрывается окно. Но если какое-то поле для ввода заполнено неправильно - возникает ошибка типа EExternalException которая останавливает выполнение блоков Проверки и Сохранения и возвращает пользователя к правильному заполнению полей. Так вот в одном окне всё отлично пашет, а в другом, если что-либо введено неверно - ошибка выскакивает как должна, но и окно закрывается не дожидаясь исправления данных!!! Проверил вроде всё - в обоих окнах одинаково, но проблема есть... может у вас возникнут предположения из-за чего в одном случае окно закрывается?! Код:
|
![]() |
![]() |
![]() |
#2 |
Участник клуба
Регистрация: 19.12.2007
Сообщений: 1,100
|
![]() Код:
На форуме: Помогаю за спасибо
ICQ\Skype: Это моё личное время ... ![]() |
![]() |
![]() |
![]() |
#3 |
Пользователь
Регистрация: 06.04.2012
Сообщений: 78
|
![]()
Должен заметить, что как я и написал выше - схема работы идентична для обоих окон и в случае с одним окном всё работает и без "Exit;"... а значит проблема в чём-то другом... в чем ???
|
![]() |
![]() |
![]() |
#4 |
Старожил
Регистрация: 16.05.2012
Сообщений: 3,211
|
![]()
Все ж таки лучше весь код увидеть а не вот эти:
Код:
И еще - сами окна одинаково создаются?
Начал решать проблему с помощью регулярных выражений. Теперь решаю две проблемы...
Последний раз редактировалось Sciv; 21.03.2013 в 14:38. |
![]() |
![]() |
![]() |
#5 | ||
Пользователь
Регистрация: 06.04.2012
Сообщений: 78
|
![]() Цитата:
Цитата:
Кто как реализует такую функцию проверки полей перед сохранением??? |
||
![]() |
![]() |
![]() |
#6 |
Старожил
Регистрация: 20.04.2008
Сообщений: 5,543
|
![]()
на проблемной кнопке установлен ModalResult ?
программа — запись алгоритма на языке понятном транслятору
|
![]() |
![]() |
![]() |
#7 | ||
Участник клуба
Регистрация: 19.12.2007
Сообщений: 1,100
|
![]() Цитата:
Цитата:
На форуме: Помогаю за спасибо
ICQ\Skype: Это моё личное время ... ![]() Последний раз редактировалось Yurk@; 21.03.2013 в 15:41. |
||
![]() |
![]() |
![]() |
#8 | ||
Пользователь
Регистрация: 06.04.2012
Сообщений: 78
|
![]() Цитата:
Цитата:
evg_m Нашёл проблему! Оба окна изначально Visible=False и после создания их ещё приходится дополнительно показывать... Окно, которое НЕ закрывается при EExternalException показывается методом ".Show;" Окно, которое ЗАКРЫВАЕТСЯ при EExternalException показывается методом ".ShowModal;"... Спасибо за наводку!!! ![]() Правда возникло неудобство... у меня работал код: If Forma.ShowModal=mrOk then Dataset.FullRefresh; Теперь из-за проблем с ShowModal нет возможности определить был ли mrOK... ![]() Может посоветуете что-то? Последний раз редактировалось Stilet; 24.03.2013 в 13:20. |
||
![]() |
![]() |
![]() |
#9 | |
Старожил
Регистрация: 20.04.2008
Сообщений: 5,543
|
![]()
а в чем проблема вы же и так ставите
Цитата:
т.е.изначально на кнопке нет mrOK.(чтобы окно не закрывалось по кнопке) при успешной проверке Код:
Код:
Код:
программа — запись алгоритма на языке понятном транслятору
Последний раз редактировалось evg_m; 21.03.2013 в 16:16. |
|
![]() |
![]() |
![]() |
#10 |
Пользователь
Регистрация: 06.04.2012
Сообщений: 78
|
![]()
Опишу какое поведение необходимо и какие возникли проблемы в реализации...
Нужно, чтобы: + при нажатии кнопки в каталоге создавалось окно которое Visible=False; + соот это окно нужно как-то показать (form.Show или form.ShowModal), хотелось бы form.Show, чтобы можно было из каталога открывать множество таких мелких окон; + если ModalResult=mrOK повесить на кнопку, то возникают те баги с проверкой формы, что описаны в этой теме. Ладно, убираем mrOK с кнопки, а выводим ModalResult=mrOK кодом в нужный момент после проверки FormValidate; Но есть проблема - если сначала сделать form.Show а потом поставить ожидание от формы модального ответа типа [if formX.modalResult=mrOK] то в окне возникает ошибка "Нельзя видимое окно сделать модальным"... ![]() Можно ли используя ModalResult=mrOK сделать окно не модальным (чтобы открывать множество таких окон) но с целью после закрытия любого из мелких окон затем в родительском окне каталога обработать событие ModalResult=mrOK (нужно сделать Dataset.Refresh)?? Или через ModalResult никак, только создавать в каталоге отдельное property?? + |
![]() |
![]() |
![]() |
|
![]() |
||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
Не закрывается диалоговое окно | Jopses | JavaScript, Ajax | 1 | 23.02.2013 14:23 |
Закрывается окно DOS | zlo_999 | Общие вопросы C/C++ | 10 | 16.03.2011 01:30 |
Закрывается окно | Никита_П | Общие вопросы C/C++ | 2 | 27.02.2010 17:22 |