Функции Lock, Unlock
Обновлен: Ноябрь 2007
Управляет доступом других процессов ко всему файлу, открытому с помощью функции Open, или к его части.
Функция My обеспечивает более высокую производительность и быстродействие операций файлового ввода-вывода, чем Lock и Unlock. Дополнительные сведения см. в разделе Объект My.Computer.FileSystem.
Public Overloads Sub Lock(ByVal FileNumber As Integer)
' -or-
Public Overloads Sub Unlock(ByVal FileNumber As Integer)
' -or-
Public Overloads Sub Lock(_
ByVal FileNumber As Integer, _
ByVal Record As Long _
)
' -or-
Public Overloads Sub Unlock( _
ByVal FileNumber As Integer, _
ByVal Record As Long _
)
' -or-
Public Overloads Sub Lock( _
ByVal FileNumber As Integer, _
ByVal FromRecord As Long, _
ByVal ToRecord As Long _
)
' -or-
Public Overloads Sub Unlock( _
ByVal FileNumber As Integer, _
ByVal FromRecord As Long, _
ByVal ToRecord As Long _
)
Параметры
FileNumber
Обязательный параметр. Любой допустимый номер файла.Record
Необязательный параметр. Номер записи или байта для блокировки или разблокировки.FromRecord
Необязательный параметр. Номер первой записи или первого байта, начиная с которого файл открывается или закрывается для доступа.ToRecord
Необязательный параметр. Номер последней записи или последнего байта, которым заканчивается часть файла, открытая или закрытая для доступа.
Исключения
Тип исключения |
Номер ошибки |
Условия |
---|---|---|
FileNumber не существует. |
||
Недопустимый режим файла. |
См. столбец "Номер ошибки", если выполняется обновление приложений Visual Basic 6.0, в которых используется неструктурированная обработка ошибок. (Можно сравнить номер ошибки с Свойство Number (объект Err).) Однако по возможности следует заменять такую обработку ошибок на Обзор структурной обработки исключений в Visual Basic.
Заметки
Функции Lock и Unlock используются в среде, где нескольким процессам может понадобиться доступ к одному и тому же файлу.
Функции Lock и Unlock всегда используются в паре. Аргументы для Lock и Unlock должны совпадать полностью.
Если аргументы Record или FromRecord и ToRecord опущены, весь файл закрывается для доступа. Если указана только запись Record, то будет заблокирована или разблокирована только эта запись.
Если файл открыт для последовательного ввода или вывода, действие функций Lock и Unlock распространяется на весь файл, независимо от значений параметров FromRecord и ToRecord.
Пример
В следующем примере показывается использование функций Lock и Unlock. В этом примере используется файл People.txt, содержащий записи структуры Person.
Structure Person
Dim Name As String
Dim ID As Integer
End Structure
Sub PutInLockedFile(ByVal index As Integer, ByVal onePerson As Person)
Try
FileOpen(1, "c:\people.txt", OpenMode.Binary)
Lock(1)
FilePut(index, onePerson)
Unlock(1)
FileClose(1)
Catch
' Error recovery code here.
End Try
End Sub
Примечание для разработчиков приложений для интеллектуальных устройств
Эта функция не поддерживается.
Требования
Пространство имен:Microsoft.VisualBasic
**Модуль:**FileSystem
**Сборка:**Visual Basic (библиотека времени выполнения, в Microsoft.VisualBasic.dll)