共用方式為


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
    選擇項,鎖定或解除鎖定的最後一筆資料錄或位元組號碼。

例外狀況

例外狀況類型

錯誤代碼

條件

IOException

52

FileNumber 不存在。

IOException

54

檔案模式無效。

如果將使用非結構化錯誤處理的 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 Runtime Library (在 Microsoft.VisualBasic.dll 中)

請參閱

參考

FileOpen 函式

IOException

其他資源

使用 Visual Basic 存取檔案