Гость
Форумы / FoxPro, Visual FoxPro [игнор отключен] [закрыт для гостей] / реакция на escape / 6 сообщений из 6, страница 1 из 1
08.08.2012, 12:27
    #37908591
ura9959648
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
реакция на escape
есть форма: поле ввода и кнопка закрытия формы. в полях ввода определены contrilsource (буферизованный курсор, буферизация=5). кнопка закрытия формы реагирует на esc.

получается ситуация: открывается форма(лостфокус на поле ввода) , я нажимаю esc. При закрытии формы срабатывает процедура сохранения изменений: и команда GETFLDSTATE показывает 2, но я ничего не изменял (причем команда GETNEXTMODIFIED!=0, а значит произошло изменение).

почему это происходит и как этого избежать?
...
Рейтинг: 0 / 0
08.08.2012, 14:01
    #37908869
Jonny540
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
реакция на escape
ura9959648,

Есть такая команда ON ESCAPE. Это Вам ничего не говорит?
...
Рейтинг: 0 / 0
08.08.2012, 14:02
    #37908871
ВладимирМ
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
реакция на escape
Для какой рабочей области (таблицы) выполняются GetFldState() и GetNextModified()? Может, Вы проверяете статус не той таблицы, которая отображается в объектах формы?
...
Рейтинг: 0 / 0
10.08.2012, 10:20
    #37911746
ura9959648
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
реакция на escape
ВладимирМ,

проверил, все правильно - проверяю нужную таблицу
...
Рейтинг: 0 / 0
10.08.2012, 10:52
    #37911819
ura9959648
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
реакция на escape
получается, что нажатие клавиши esc приравнивается к изменению поля.
...
Рейтинг: 0 / 0
10.08.2012, 12:16
    #37912021
ВладимирМ
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
реакция на escape
Создал форму. Положил на нее TextBox. Создал CommandButton со свойством Cancel = .T. В событии Click() кнопки прописал

Код: sql
1.
?GetFldState(-1)



При открытии формы фокус попадает в TextBox. При нажатии кнопки Esc получил строку из одних единиц. Т.е. буфер не изменился.

Ищите ошибку в Вашем коде. Вероятно, Вы изменяли значение поля до открытия формы или до нажатия Esc.

Кстати, ввод того же самого значения с точки зрения буфера - это тоже изменения. Для буфера не важно, что именно было записано (пусть и то же самое). Важен сам факт записи.
...
Рейтинг: 0 / 0
Форумы / FoxPro, Visual FoxPro [игнор отключен] [закрыт для гостей] / реакция на escape / 6 сообщений из 6, страница 1 из 1
Целевая тема:
Создать новую тему:
Автор:
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]