[<<Previous Entry]
[^^Up^^]
[Next Entry>>]
[Menu]
[About The Guide]
##############################################################################
###+---------+################################################################
#+-| RLOCK() |-----------------------------------------------------+##########
#| +---------+ Attempts to lock current record in current database |##########
#+-----------------------------------------------------------------+##########
##############################################################################
##############################################################################
#+--| Summary |------------------+############################################
#| #INCLUDE database.hdr |############################################
#+-------------------------------+############################################
##############################################################################
##############################################################################
#+--| Syntax |------------------------------+#################################
#| FUNCTION LOGICAL rlock PROTOTYPE |#################################
#+------------------------------------------+#################################
##############################################################################
##############################################################################
###########+---| Description |-----------------------------------+############
###########| The rlock() function attempts to lock the current |############
###########| record in the current database. If the lock is |############
###########| successful, rlock() returns TRUE. Any locks, |############
###########| record or file assigned to the current alias are |############
###########| released, and if rlock() is unsuccessful, the |############
###########| locks are not restored. |############
###########| --------------------------------------------------- |############
###########| Once an rlock() is applied to a process, no other |############
###########| process can write to the record or lock the record. |############
###########| However, rlock() does not prevent another process |############
###########| from reading the locked record. |############
###########+-----------------------------------------------------+############
##############################################################################
##############################################################################
#########+--| Example 1 |-------------------------------------------+#########
#########| * Lock a record prior to using the EDIT command. |#########
#########| |#########
#########| IF .NOT. rlock() |#########
#########| ? "Unable to access record..." |#########
#########| ENDIF |#########
#########| EDIT RECORD recno() |#########
#########| UNLOCK |#########
#########+----------------------------------------------------------+#########
##############################################################################
##############################################################################
#########+--| Example 2 |-------------------------------------------+#########
#########| * rlock() removes any previous lock. (NOTE: |#########
#########| * even though rlock() is a function, we can |#########
#########| * treat it as a procedure, i.e., call the |#########
#########| * function and IGNORE the return value. FORCE |#########
#########| * gives a WARNING when this is done, yet it is |#########
#########| * NOT illegal. |#########
#########| |#########
#########| GOTO 1 |#########
#########| rlock() && locks record 1 |#########
#########| GOTO 2 |#########
#########| rlock() && releases lock on record 1 |#########
#########| && and locks record 2 |#########
#########+----------------------------------------------------------+#########
##############################################################################
See Also:
a_flock()
a_rlock()
flock()
OPEN
UNLOCK
USE
This page created by ng2html v1.05, the Norton guide to HTML conversion utility.
Written by Dave Pearson