Определяет, как часто система Visual FoxPro выполняет попытки блокировки записи или файла для выполнения операций обновления данных, (при многопользовательском доступе к таблицам данных), при условии , что предыдущие попытки блокировки оказались неудачными.

SET REPROCESS TO nAttempts [SECONDS] [SYSTEM] | TO AUTOMATIC [SYSTEM]

Параметры

TO nAttempts [SECONDS]

Определяет количество попыток блокировки записи или файла после первой неудачной попытки. Значение по-умолчанию = 0, максимальное значение = 32,000. Опция SECONDS означает период времени, через который выполняются попытки блокировки.  Это справедливо только когда параметр nAttempts < 0 . Например, если nAttempts = 30, Visual FoxPro выполняет попытки блокировки 30 раз.   Если также включена опция SECONDS (SET REPROCESS TO 30 SECONDS), Visual FoxPro выполняет непрерывно попытки блокировки в течение 30 секунд. При включенной команде SET STATUS ON системное сообщение  ("Waiting for lock ... ") указывает на период выполнения попыток блокировки. Если включена команда обработки ошибок ON ERROR, то она будет выполнена при истечении времени / попыток блокировки записи или файла. Тем не менее, если блокировка будет успешно выполнена,  тригер ON ERROR не активируется. Если обработчик ON ERROR не включен, то по истечение времени / или попыток блокировки будет выведено системное сообщение  (например, "Record is in use by another" Запись занята другим пользователем).  Если параметр  nAttempts = 0 (значение по-умолчанию)  и выполняется команда блокировки, то системы Visual FoxPro пытается бесконечно выполнять данную функцию, при этом выводится системное сообщение:  "Attempting to lock... Press Escape to Cancel,"  (Попытка блокировки..., нажмите Escape или Cancel) . При успешном завершении блокировки системное сообщение стирается, функция возвращает значение = .Т.. Если Вы нажмете  ESC - то появится сообщение  (например, "Record is in use by another"). Если системные сообщения выключенны, то функция блокировки вернет значение = .F.  Если включена команда ON ERROR и выполняется попытка блокировки,  то данная команда (ON ERROR) имеет приоритет над дополнительными попытками блокировки, отрабатывается код данного обработчика ошибок. Система Visual FoxPro не выполняет дополнительные попытки блокировки и не выводит системных сообщений.  Если параметр nAttempts = –1, Visual FoxPro Выполняет попытки блокировки бесконечно долго. В этом случае Вы не можете прервать процесс, нажав клавишу ESC, обработчик ошибок ON ERROR не отрабатывает. Установка параметра nAttempts = -2 эквивалентно использованию опции TO AUTOMATIC (см. дальше). Visual FoxPro отображает сообщение "Waiting for lock ... " при включенной команде SET STATUS ON. Если запись уже блокирована другим пользователем, Вам остается только одно - ждать.
TO AUTOMATIC

Определяет, что система Visual FoxPro выполняет попытки блокировки записи или файла бесконечно долго (эквивалентно установке параметра nAttempts = –2). Данная опция аналогична установке параметра nAttempts = -1, за исключением возможности прервать процесс попыток блокировки (нажатием клавиши ESC) . Отображается системное сообщение "Attempting to lock ... Press Escape to Cancel" пока выполняются попытки блокировки. После выполнения блокировки данное сообщение стирается и функция блокировки возвращает значение = .T. Если включена команда ON ERROR и Вы нажимаете клавишу  ESC, то появляется следующее сообщение (например, "Record is in use by another" (Запись занята другим пользователем)). Если блокировка не удачная и системные сообщения отключены, то функция блокировки возвращает значение = .F.. Если включена команда ON ERROR и нажата клавиша ESC, то выполняется обработчик ошибок ON ERROR. Если блокировка не выполнена, то обработчик не выполняется и функция возвращает значение = .F..
SYSTEM

Определяет для команды SET REPROCESS применение системной установки, которая распространяется на соответствующие разделы, базы данных, FoxUser, .scx файлы, и так далее. Для дополнительной информации см раздел Программирование многопользовательского доступа к данным .

Комментарии

Часто первая попытка блокировки записи или файла является неудачной, объект занят другим пользователем.  Команда SET REPROCESS определяет функционирование системы Visual FoxPro в случае выполнения дополнительных попыток блокировки. Вы можете управлять процессом повторных попыток блокировки. Команда ON ERROR влияет на процесс обработки ситуаций с повторными попытками.

Команда SET REPROCESS действует в текущей рабочей сессии. 

Примечание:
Изменение соответствующего параметра в закладке Data диалогового бокса Tools Options действует только в текущей рабочей сессии.

Пример

  Копировать код
SET ("REPROCESS")      && Returns the current session setting
SET("REPROCESS",1) && Returns the system session setting

* In the config.fpw file, the following code changes the default session.
REPROCESS = 100

См. также