Condividi tramite


Funzioni Lock e Unlock

Aggiornamento: novembre 2007

Controllano l'accesso di altri processi a una parte o a un intero file aperto utilizzando la funzione Open.

Nelle operazioni di I/O dei file la funzionalità My offre un più elevato livello di produttività e prestazioni rispetto a Lock e Unlock. Per ulteriori informazioni, vedere Oggetto 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 _
)

Parametri

  • FileNumber
    Obbligatorio. Qualsiasi numero di file valido.

  • Record
    Facoltativo. Numero dell'unico record o byte da bloccare o sbloccare.

  • FromRecord
    Facoltativo. Numero del primo record o byte da bloccare o sbloccare.

  • ToRecord
    Facoltativo. Numero dell'ultimo record o byte da bloccare o sbloccare.

Eccezioni

Tipo di eccezione

Numero di errore

Condizione

IOException

52

FileNumber non esiste.

IOException

54

Modalità di accesso ai file non valida.

Se si esegue l'aggiornamento delle applicazioni Visual Basic 6.0 che utilizzano la gestione degli errori non strutturata, vedere la colonna "Numero di errore". È possibile confrontare il numero di errore con la Proprietà Number (oggetto Err). Se possibile, tuttavia, si consiglia di sostituire il controllo dell'errore con la procedura illustrata nella sezione Cenni preliminari sulla gestione strutturata delle eccezioni per Visual Basic.

Note

Le funzioni Lock e Unlock vengono utilizzate negli ambienti nei quali l'accesso agli stessi file è consentito a più processi.

Le funzioni Lock e Unlock vengono sempre utilizzate insieme. È necessaria una perfetta corrispondenza degli argomenti di Lock e Unlock.

Se il parametro Record o i parametri FromRecord e ToRecord non vengono forniti, il blocco riguarderà l'intero file. Se viene specificato solo Record, verrà bloccato o sbloccato il singolo record.

Se il file è stato aperto per l'input o l'output sequenziale, Lock e Unlock avranno effetto sull'intero file, indipendentemente dall'intervallo specificato da FromRecord e ToRecord.

Esempio

Nell'esempio riportato di seguito viene illustrato l'utilizzo delle funzioni Lock e Unlock. Nell'esempio People.txt è un file nel quale sono presenti record della struttura 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

Note per gli sviluppatori di applicazioni per Smart Device

Questa funzione non è supportata.

Requisiti

Spazio dei nomi:Microsoft.VisualBasic

**Modulo:**FileSystem

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

Vedere anche

Riferimenti

Funzione FileOpen

IOException

Altre risorse

Accesso ai file con Visual Basic