Code:
'I am using this very simple code 'testing and allowing access: IF AllowAccess(limit, %False) THEN 'user can else 'user can not end if 'release when the user exists AllowAccess 0, %True 'this is the only code FUNCTION AllowAccess(lNumUsers AS LONG, bRelease AS INTEGER) AS INTEGER FUNCTION = %True ON ERROR RESUME NEXT IF bRelease THEN UNLOCK #lLockHandle, lLockPos CLOSE lLockHandle EXIT FUNCTION END IF DIM aFile$, lLen AS LONG, l AS LONG, a$ lLockHandle = FREEFILE 'give value to aFile$ on the network before going farther aFile$ = OPEN aFile$ FOR BINARY SHARED AS lLockHandle lLen = LOF(lLockHandle) a$ = " " FOR l = 1 TO lLen ERR = 0 GET #lLockHandle, l, a$ IF ERR = 0 THEN LOCK #lLockHandle, l IF ERR = 0 THEN lLockPos = l EXIT FUNCTION END IF END IF NEXT DO ERR = 0 lLen = lLen + 1 IF lLen > lNumUsers THEN CLOSE #lLockHandle FUNCTION = %False EXIT FUNCTION END IF PUT #lLockHandle, lLen, a$ IF ERR = 0 THEN LOCK #lLockHandle, lLen IF ERR = 0 THEN lLockPos = l EXIT FUNCTION END IF END IF LOOP END FUNCTION
Leave a comment: