powered by simpleCommunicator - 2.0.60     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / FoxPro, Visual FoxPro [игнор отключен] [закрыт для гостей] / Буферизация
8 сообщений из 8, страница 1 из 1
Буферизация
    #32890573
Есть форма. На ней grid. Данные передаются ч|з local view. Какую буферизацию нужно установить на форме? Я читал, что VFP берет на себе всю работу и команды lock/unlock не нужны.
...
Рейтинг: 0 / 0
Буферизация
    #32890765
Burn
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Local view по умолчанию имеет оптимистическую буфферизацию, остается только выбрать строчную или табличную. Я предпочитаю табличную - она более управляемая.
Подробности поищи в ответах ВладимираМ про буфферизацию. Или здесь - http://www.foxclub.ru/kb/
...
Рейтинг: 0 / 0
Буферизация
    #32890768
Фотография ВладимирМ
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Почитай 3 статьи во вложении.

Буферизация.txt - общая идея буферизации и транзакции
Buffering.txt - список некоторых особенностей реализации буферизации в VFP
Буферная система.txt - это не совсем по теме. Логика чтения и записи данных от хранения на винте до отображения у клиента.
...
Рейтинг: 0 / 0
Буферизация
    #32890832
Спасибо за статьи, с буферизацией я вроде разобрался....

Сейчас вроде заработало.

А как проверить, изменилась ли запись или нет? Функция GETFLDSTATE работает с отдельными полями, а как просто определить изменилась ли целая запись или нет?
...
Рейтинг: 0 / 0
Буферизация
    #32890909
Фотография ВладимирМ
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Антон Зимин
А как проверить, изменилась ли запись или нет? Функция GETFLDSTATE работает с отдельными полями, а как просто определить изменилась ли целая запись или нет?

1) Если не "играться" с SetFldState(), то можно так:

Код: plaintext
1.
2.
IF LEN(ChrTran(GetFldState(- 1 ),"1",""))> 0 
* текущая запись изменена
ENDIF

2) Также почитай описание функции GetNextModified()
...
Рейтинг: 0 / 0
Буферизация
    #32942930
Буферизация сделана через local view. Когда пользователь выбирает строку в гриде и жмет "изменить", появляется окно, в котором он может изменить нужные поля. Причем если в это время другой пользователь работает с данной записью, то окно все равно открывается, хотя данные изменить всё равно не получится. Как узнать, свободна ли запись или нет. Или получилось ли заблокировать запись.
...
Рейтинг: 0 / 0
Буферизация
    #32942962
Ilhom_uz
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Антон ЗиминБуферизация сделана через local view. Когда пользователь выбирает строку в гриде и жмет "изменить", появляется окно, в котором он может изменить нужные поля. Причем если в это время другой пользователь работает с данной записью, то окно все равно открывается, хотя данные изменить всё равно не получится. Как узнать, свободна ли запись или нет. Или получилось ли заблокировать запись.
...
Рейтинг: 0 / 0
Буферизация
    #32943070
Фотография ВладимирМ
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Антон ЗиминБуферизация сделана через local view. Когда пользователь выбирает строку в гриде и жмет "изменить", появляется окно, в котором он может изменить нужные поля. Причем если в это время другой пользователь работает с данной записью, то окно все равно открывается, хотя данные изменить всё равно не получится. Как узнать, свободна ли запись или нет. Или получилось ли заблокировать запись.
В принципе можно, но не нужно. Идеология работы в многопользовательской системе должна быть направлена на разрешение конфликтов совместного доступа, а не на их предотвращение.

Т.е. тебе надо не заниматься проверкой того, редактирует ли кто-то еще данную запись, а в момент сохранения модификаций определить были ли изменены те же самые данные другим пользователем, пока первый вносил изменения. Если были, то спросить: писать поверх или отказаться от изменений?

Для этого и существует второй параметр в команде TableUpdate(), а также настройки на закладке Update Criteria в дизайнере Local View.
...
Рейтинг: 0 / 0
8 сообщений из 8, страница 1 из 1
Форумы / FoxPro, Visual FoxPro [игнор отключен] [закрыт для гостей] / Буферизация
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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