- The unlock operation was not performed
- Unlocking a file
- Position in the file
- Operating mode in Windows Vista (and later)
<DiskFile variable>.Unlock (Function)
In french: <Variable FichierDisque>.Débloque
Entirely or partially unlocks an external file. The file was locked by <DiskFile variable>.Lock
Caution: The unlock operation can be performed only if the section to unlock corresponds to the section locked.
// Open an external file
MyFile is DiskFile
MyFile = fOpen("C:\MyDirectories\File.txt", foReadWrite)
IF NOT ErrorOccurred THEN
// Lock the file
ResLock = MyFile.fLock()
// Unlock the external file
ResUnlock = MyFile.Unlock()
<Result> = <File used>.Unlock([<First byte to unlock> [, <Number of bytes to unlock>]])
- True if the unlock operation was performed,
- False otherwise.
<File used>: DiskFile variable
Name of the DiskFile variable initialized with fOpen or fCreate.
<First byte to unlock>: Optional integer
Position of the first byte (character) to unlock (0 corresponds to the first byte of the file).
<Number of bytes to unlock>: Optional integer
Number of bytes (characters) to unlock.
The unlock operation was not performed
<DiskFile variable>.Unlock returns False if the unlock operation was not performed. The unlock operation can be performed if:
- the external file is opened.
- the file identifier is valid.
- the file or the bytes to unlock are identical to the locked ones. For example, if only a file section was locked, this same section must be unlocked. If the file was entirely locked, you cannot unlock a section of the file.
- the file or the bytes to unlock have been locked by the same application and from the same computer.
Unlocking a file
- The file is entirely unlocked if <First byte to unlock> and <Number of bytes to unlock> are not specified.
- The file is unlocked from the first specified byte (<First byte to unlock>) to the end of file if <Number of bytes to unlock> is not specified.
- A blocked (or partially blocked) file will be automatically unblocked when it is closed.
The lock is effective between two different sites or contexts. Unlike Windows, a process cannot lock a file that was previouly locked.
Position in the file
When opening a file, the current position corresponds to:
- the first file byte (by default),
- the last byte of the file if the file is opened in "addition" mode (foAdd constant).
The current position does not change when <DiskFile variable>.Unlock is executed.
Operating mode in Windows Vista (and later)
If this function does not operate properly in Windows Vista (and later), check whether the file or directory used is not in one of the system directories (Windows directory or "Program Files" directory).
In Windows Vista (and later), with the UAC mechanism (User Account Control) enabled
, you must have administrator privileges to handle and/or modify the files or directories in system directories (Windows directory or "Program Files" directory).
Programming tip: To handle and/or modify the files or directories without administrator privileges, you should:
- avoid writing to the Windows directory or to the "Program Files" directory,
- use the system directory of the application (returned by SysDir with the srAppDataCommun constant, for example).
Business / UI classification: Business Logic
This page is also available for…