Hi Sytze,

in older days, i used to add a field 'owner' to each table. This field is 
normally empty if the record is 'free' and contains the operator's code if it 
used by one operator. it's something like :

* locking a record
IF RLOCK()
   REPLACE mytable.owner WIH operator.code
   UNLOCK
ENDIF

* unlocking a record
REPLACE mytable.owner WITH  ""

*testing if a record is free
IF RLOCK()
   IF EMPTY(mytable.owner)
     UNLOCK
     * the record is free
     ....
   ELSE
     UNLOCK
     * the record is used by operator.code
     ...
   ENDIF
ELSE
     * just do another try because you have a bad luck on lock !
     ...
ENDIF


So, if an operator has left a record 'locked' (for example the app crashed), 
you 
can always clear all the fields owner ..
With this algorithm, a record is locked only for a very short time so the 
probability of a problem during this short time is very very low; You can know 
who is working; You can 'unlock' a record from outside the app.

I hope this helps
The Foxil



_______________________________________________
Post Messages to: [email protected]
Subscription Maintenance: http://leafe.com/mailman/listinfo/profox
OT-free version of this list: http://leafe.com/mailman/listinfo/profoxtech
Searchable Archive: http://leafe.com/archives/search/profox
This message: http://leafe.com/archives/byMID/profox/[email protected]
** All postings, unless explicitly stated otherwise, are the opinions of the 
author, and do not constitute legal or medical advice. This statement is added 
to the messages for those lawyers who are too stupid to see the obvious.

Reply via email to