|
|
|
Ошибка при принудительной установке фокуса на TextBox
|
|||
|---|---|---|---|
|
#18+
Здравствуйте Все! Такая проблема.Есть форма с именем zapros.На ней находится TextBox с именем Datan.В этот TextBox набивается дата.Чтобы этот TextBox пользователем не пропускался и не был пустым в событии Valid этого TextBox написал следующее: IF CTOD(zapros.datan.value)={} WAIT WINDOW 'Введите дату' NOWAIT zapros.datan.setfocus ENDIF Доходя до предпоследней строки выдаёт следующее: Cannot call setfocus from within a When,Valid,RangeHigh or RangeLow event Я это перевёл как "Не могу вызвать SetFocus из методов When,Valid,RangeHigh или RangeLow".Почему не может и как мне это обойти ? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 27.12.2005, 10:12 |
|
||
|
Ошибка при принудительной установке фокуса на TextBox
|
|||
|---|---|---|---|
|
#18+
DorwardЗдравствуйте Все! Такая проблема.Есть форма с именем zapros.На ней находится TextBox с именем Datan.В этот TextBox набивается дата.Чтобы этот TextBox пользователем не пропускался и не был пустым в событии Valid этого TextBox написал следующее: IF CTOD(zapros.datan.value)={} WAIT WINDOW 'Введите дату' NOWAIT zapros.datan.setfocus ENDIF Доходя до предпоследней строки выдаёт следующее: Cannot call setfocus from within a When,Valid,RangeHigh or RangeLow event Я это перевёл как "Не могу вызвать SetFocus из методов When,Valid,RangeHigh или RangeLow".Почему не может и как мне это обойти ? Имеет место это в Fox-е!!! 1. Но если ты не хочешь чтобы TextBox не терял фокус, когда на нем уже стоит фокус, то в Valid IF CTOD(zapros.datan.value)={} WAIT WINDOW 'Введите дату' NOWAIT RETURN .F. ENDIF 2. TextBox надо чтобы был НЕ символьным, тип DATE. Избежишь многих ошибок при вводе пользователем. А то получится, что м.б. дата "99.99.9999" 3. При инициализации формы или объекта TextBox может быть сразу указать текущую дату??? THISFORM.TextBox.Value = DATE() чтобы пользователь ее исправлял. Думай сам. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 27.12.2005, 10:29 |
|
||
|
Ошибка при принудительной установке фокуса на TextBox
|
|||
|---|---|---|---|
|
#18+
Спасибо ! Разобрался ! ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 27.12.2005, 10:53 |
|
||
|
Ошибка при принудительной установке фокуса на TextBox
|
|||
|---|---|---|---|
|
#18+
Hi Dorward! Очень не советую ТАК блокировать пользователя. Если уж никак нельзя сохранять данные без этого поля - блокируй кнопку сохранения. ибо RETURN .F. или более "невидимая" RETURN 0 в Valid - это жуткий тупик - пользователь весьма вероятно решит что программа зависла и убьет её из taskManager или Reset-ом воспользуется... Ведь в таком варианте даже по крестику закрытия формы (и главного окна тоже!) не щёлкнуть. Posted via ActualForum NNTP Server 1.3 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 29.12.2005, 01:49 |
|
||
|
Ошибка при принудительной установке фокуса на TextBox
|
|||
|---|---|---|---|
|
#18+
Igor Korolyov...Очень не советую ТАК блокировать пользователя. Если уж никак нельзя сохранять данные без этого поля - блокируй кнопку сохранения. ибо RETURN .F. или более "невидимая" RETURN 0 в Valid - это жуткий тупик - пользователь весьма вероятно решит что программа зависла и убьет её из taskManager или Reset-ом воспользуется... Ведь в таком варианте даже по крестику закрытия формы (и главного окна тоже!) не щёлкнуть.Чисто согласен с этим. RETURN .F. - это неправильный подход. Но что автор спросил, то и отвечено. Правильно блокировать кнопку <Сохранить>. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 29.12.2005, 07:53 |
|
||
|
|

start [/forum/topic.php?fid=41&msg=33463348&tid=1592684]: |
0ms |
get settings: |
10ms |
get forum list: |
20ms |
check forum access: |
4ms |
check topic access: |
4ms |
track hit: |
212ms |
get topic data: |
12ms |
get forum data: |
3ms |
get page messages: |
57ms |
get tp. blocked users: |
1ms |
| others: | 251ms |
| total: | 574ms |

| 0 / 0 |
