advr.hlp (Topic list)
LOCK, UNLOCK Statement Details
  Summary  Details  Example                Contents  Index  Back
──────────────────────────────────────────────────────────────────────────────
 LOCK [#]filenumber% [,{record& | [start&] TO end&}]
 .
 .
 .
 UNLOCK [#]filenumber% [,{record& | [start&] TO end&}]
 
 Usage Notes
   ■ LOCK and UNLOCK statements are used in networked environments where
     several processes might need access to the same file.
 
   ■ LOCK and UNLOCK statements are always used in pairs. The arguments
     to LOCK and UNLOCK must match exactly.
 
   ■ Be sure to remove all locks with an UNLOCK statement before closing
     a file or terminating your program. Failing to remove locks produces
     unpredictable results.
 
   ■ Do not use LOCK and UNLOCK on devices or ISAM tables.
 
   ■ A record can be up to 32,767 bytes long.
 
   ■ If you specify just one record, then only that record is locked or
     unlocked. If you specify a range of records and omit a starting record
     (start&), then all records from the first record to the end of the range
     (end&) are locked or unlocked. LOCK with no record arguments locks the
     entire file, while UNLOCK with no record arguments unlocks the entire
     file.
 
   ■ For binary-mode files, the arguments record&, start&, and end&
     represent the number of a byte relative to the beginning of the file.
     The first byte in a file is byte 1.
 
   ■ For random-access files, record&, start&, and end& are the number of a
     record relative to the beginning of the file. The first record is
     record 1.
 
   ■ If the file has been opened for sequential input or output, LOCK and
     UNLOCK affect the entire file, regardless of the range specified by
     start& and end&.
 
   ■ If you attempt to access a file that is locked, Visual Basic may
     generate the error message, "Permission denied."
 
   ■ LOCK and UNLOCK execute only at run time if you are using a version of
     MS-DOS that supports networking (version 3.1 or later). You must run the
     SHARE.EXE program to enable locking operations.
 
   ■ MS-DOS version 3.0 or earlier returns an error message that reads,
     "Advanced feature unavailable," if LOCK and UNLOCK are executed.