Lock、Unlock 函式
更新:2007 年 11 月
控制項由其他處理序存取以 Open 函式開啟的整個或部分檔案。
My 功能提供比 Lock 和 Unlock 更強的檔案 I/O 作業產能和效能。如需詳細資訊,請參閱 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
智慧型裝置開發人員注意事項
不支援這個函式。
需求
**模組︰**FileSystem
組件:Visual Basic Runtime Library (在 Microsoft.VisualBasic.dll 中)