Freigeben über


Die Funktionen '<legacyBold>Lock'</legacyBold> und '<legacyBold>Unlock'</legacyBold>

Aktualisiert: November 2007

Regelt die Zugriffsmöglichkeiten anderer Prozesse auf eine Datei (oder auf Teile einer Datei), die mit der Open-Funktion geöffnet wurde.

Das My-Feature ermöglicht bei Datei-E/A-Vorgängen höhere Produktivität und Leistung als Lock und Unlock. Weitere Informationen hierzu finden Sie unter My.Computer.FileSystem-Objekt.

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 _
)

Parameter

  • FileNumber
    Erforderlich. Beliebige gültige Dateinummer.

  • Record
    Optional. Nummer des einzigen Datensatzes oder Bytes, für den bzw. das die Sperre eingerichtet/aufgehoben werden soll.

  • FromRecord
    Optional. Nummer des ersten Datensatzes oder Bytes, für den bzw. das die Sperre eingerichtet/aufgehoben werden soll.

  • ToRecord
    Optional. Nummer des letzten Datensatzes oder Bytes, für den bzw. das die Sperre eingerichtet/aufgehoben werden soll.

Ausnahmen

Ausnahmetyp

Fehlernummer

Bedingung

IOException

52

FileNumber ist nicht vorhanden.

IOException

54

Dateimodus ist ungültig.

Beachten Sie die Spalte "Fehlernummer", wenn Sie Visual Basic 6.0-Anwendungen aktualisieren, die eine unstrukturierte Fehlerbehandlung verwenden. (Sie können die Fehlernummer mit der Number-Eigenschaft (Err-Objekt) vergleichen.) Wenn möglich, sollten Sie jedoch erwägen, eine solche Fehlersteuerung durch eine Übersicht über die strukturierte Ausnahmebehandlung für Visual Basic zu ersetzen.

Hinweise

Die Funktionen Lock und Unlock werden in Umgebungen verwendet, in denen mehrere Prozesse auf dieselbe Datei zugreifen können.

Die Funktionen Lock und Unlock treten immer paarweise auf. Die verwendeten Argumente für Lock und Unlock müssen genau miteinander übereinstimmen.

Wenn Record oder FromRecord und ToRecord nicht angegeben werden, gilt die Sperre für die gesamte Datei. Wenn nur Record angegeben wird, wird der einzelne Datensatz gesperrt/entsperrt.

Wenn die Datei für sequenzielle Ein- oder Ausgaben geöffnet wurde, beziehen sich Lock und Unlock immer auf die gesamte Datei, auch wenn mit FromRecord und ToRecord ein Bereich der Datei angegeben wurde.

Beispiel

In diesem Beispiel wird die Verwendung der Funktionen Lock und Unlock veranschaulicht. In diesem Beispiel ist People.txt eine Datei, die Datensätze mit der Struktur Person enthält.

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

Hinweise für Entwickler intelligenter Geräte

Diese Funktion wird nicht unterstützt.

Anforderungen

Namespace:Microsoft.VisualBasic

**Modul:**FileSystem

**Assembly:**Visual Basic Runtime Library (in Microsoft.VisualBasic.dll)

Siehe auch

Referenz

FileOpen-Funktion

IOException

Weitere Ressourcen

Dateizugriff mit Visual Basic