powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / FoxPro, Visual FoxPro [игнор отключен] [закрыт для гостей] / Проблема с TABLEUPDATE() и буферизацией.
3 сообщений из 3, страница 1 из 1
Проблема с TABLEUPDATE() и буферизацией.
    #33293636
Val_E
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Есть форма. На ней Grid
В Load формы стоит

Код: plaintext
1.
2.
SET MULTILOCKS ON
USE ARTICLES
CURSORSETPROP("Buffering", 3 ,"ARTICLES")
В одной колонке у объекта Text в KeyPress такой код

Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
LPARAMETERS nKeyCode, nShiftAltCtrl
IF nKeyCode =  13 
	NODEFAULT
	IF this.ReadOnly = .T.
		this.ReadOnly = .F.
		this.SelStart = LEN(ALLTRIM(this.Value))
	ELSE
		IF this.Value # OLDVAL(this.ControlSource, "articles")
If  MESSAGEBOX("Сохранить изменения?", 4 + 32 ,"Сохранение") =  6 
			= TABLEUPDATE(.T.)
		ENDIF
		this.ReadOnly = .T.
	ENDIF
ENDIF
Т.е. при нажатии Enter переходим к редактированию поля, при повторном нажатии Enter
сбрасываем буфер и отключаем редактирование поля.
Так вот, запись в исходной таблице обновляется только после перемещения на другую запись.
Выкрутился я с этого так:
Добавил по строчке перед и после = TABLEUPDATE()
Код: plaintext
1.
2.
3.
4.
…
thisform.Command1.SetFocus
= TABLEUPDATE(.F.,.T.)
this.SetFocus
…
Так все работает, но хочу разобраться почему не работает приведенный выше код.
...
Рейтинг: 0 / 0
Проблема с TABLEUPDATE() и буферизацией.
    #33294607
Igor Korolyov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Hi Val_E!

Потому что до того как произойдёт выход из текстбокса, реально введённое в него значение НЕ запишется в привязанное поле. MS пытается делать сброс значения через шаманство типа метода DataFlush класса _datasession из _app.vcx Однако это кривое решение, и я считаю что более правильно будет именно уводить фокус с текстбокса -чтобы отработала вся последовательность событий - и Valid и LostFocus...

Posted via ActualForum NNTP Server 1.3
...
Рейтинг: 0 / 0
Проблема с TABLEUPDATE() и буферизацией.
    #33295035
Val_E
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Благодарю!!!
Значит, будем считать, что все нормально и это оптимальное решение.
А то пол дня потерял, разбираясь, что я не так делаю.
...
Рейтинг: 0 / 0
3 сообщений из 3, страница 1 из 1
Форумы / FoxPro, Visual FoxPro [игнор отключен] [закрыт для гостей] / Проблема с TABLEUPDATE() и буферизацией.
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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