Lock
 
Ограничивает доступ на чтение/запись в файл или часть файла

Синтаксис

Lock #filenum, record
Lock #filenum, start To end

Параметры

filenum
Номер файла, используемый для функции открытия файла Open.
record
Для блокировки записи файла (в режиме Random).
start
Первая позиция байта (режим Binary) для блокировки.
end
Последняя позиция байта (режим Binary) для блокировки.

Описание

Lock временно ограничивает доступ к файлу или части файла для других потоков или программ, обычно для того, чтобы позволить безопасно писать в него.

После изменения данных, должен использоваться Unlock с теми же параметрами, что и Lock.

Примечание: Эта команда не всегда работает, как написано в документации. На данный момент, использовании данной функции можно считать неправильным.

Пример

'' Пример блокировки файла, чтения 100 байт и разблокировки его. 
'' Для запуска, убедитесь, что существует файл с именем 'file.ext' 
'' в текущем каталоге, по крайней мере размером 100 байт.

Dim array(1 To 100) As Integer
Dim f As Integer, i As Integer
f = FreeFile
Open "file.ext" For Binary As #f
Lock #f, 1 To 100
For i = 1 To 100
    Get #f, i, array(i)
Next
Unlock #f, 1 To 100
Close #f


Отличия от QB

  • В настоящее время FB не может заблокировать неявно весь файл
  • В режиме Random, FB не может заблокировать диапазон записей

См. также