Функция FLOCK( )
См. также Пример
Синтаксис
FLOCK([nWorkArea | cTableAlias])
Параметры
nWorkArea
Задает рабочую область таблицы, которую функция FLOCK( ) пытается блокировать.
Если в заданной рабочей области нет открытых таблиц, FLOCK( ) возвращает значе
ие "ложь" (.F.).
cTableAlias
Задает псевдоним таблицы, которую FLOCK( ) пытается блокировать.
Если задан несуществующий псевдоним таблицы, Visual FoxPro генерирует сообще
ие об ошибке.
Результат
Логический
Комментарии
Если таблица успешно заблокирована, функция FLOCK( ) возвращает значение "исти
а" (.T.); если же таблица или какая-либо ее запись уже блокированы другим по
ьзователем, возвращается значение "ложь" (.F.).
Если выдать функцию FLOCK( ) без аргументов, она попытается блокировать таб
ицу, открытую в выбранной в данный момент рабочей области.
Замечание Если функция FLOCK( ) не сможет блокировать таблицу, она возвратит "ложь"
(.F.) и не будет генерировать ошибку. Поэтому с ее помощью не удастся запустить п
ограмму ON ERROR.
Когда таблица блокирована, она становится доступной для чтения и записи только
пользователю, установившему блокировку. Остальные пользователи сети имеют к та
лице доступ только по чтению. О том, как блокировать таблицу и запрещать к ней
доступ со стороны других пользователей, см. описание команд SET EXCLUSIVE и USE.
Таблица останется заблокированной до тех пор, пока пользователь, установивший
локировку, не снимет ее. Чтобы снять блокировку, нужно выдать команду UNLOCK,
закрыть таблицу или выйти из Visual FoxPro. Таблицы закрываются командой USE,
CLEAR ALL или CLOSE DATABASES.
По умолчанию функция FLOCK( ) предпринимает только одну попытку блокировки таб
ицы. Команда SET REPROCESS позволяет задать автоматический повтор попытки б
окировки, если первая попытка окончится неудачей. SET REPROCESS определяет общее
число таких попыток или интервал времени, в течение которого попытки блокировки
будут возобновляться в случае неудачной начальной попытки. Подробнее об этом
см. SET REPROCESS.
Можно установить отношения между несколькими таблицами, используя команду SET
RELATION. Если на файл таблицы, связанной с одной или несколькими другими таб
ицами, установлена блокировка, она не распространяется на связанные таблицы: их
следует блокировать (а также снимать блокировку) явным образом.
Подробнее о блокировке записей и файлов и о совместном пользовании таблицами в
сети см. главу 19 "Программирование совместного доступа к данным" Руководства разработчика.
Новое на сайте
-
Обновлен портфель программиста
Добавлены: Установка HTML Help (Создание справочной системы), Imagedit.zip - Графический редактор ( ico и bmp), Библиотека локализации HTML Help (Русский) -
Новые примеры программ
Установка библиотек, Игровая программа "Охота на лис", Установка библиотек "Охота на лис", plastic -"Платежки", Библиотеки (на FPD26), platan -"Платежки" (на Clipper 5.2) -
Обновленна справка
Подсказки, технология программирования и использование Visual FoxPro. Команды, функции, операторы, объекты, свойства, события и методы.