Level Extreme platform
Subscription
Corporate profile
Products & Services
Support
Legal
Français
FOPEN() to go exclusive
Message
 
 
To
02/08/2003 12:01:16
General information
Forum:
Visual FoxPro
Category:
Coding, syntax & commands
Miscellaneous
Thread ID:
00816200
Message ID:
00816215
Views:
16
This message has been marked as the solution to the initial question of the thread.
Michel,
You can use WIn API DeleteFile function
DECLARE Long DeleteFile IN WIN32API STRING 
lcFileName = gcClientFat+'StyleSheet\'+PADL(gnMember,6,'0')+lcNextItem+'.css'
lnResult = DeleteFile(lcFileName)    && return 0 - file deleted
>I have a situation that I would like to resolve. It happens once after a million processes but I would like to make sure it doesn't happen again. I am using FOPEN() to detect if a specific file exist. If it exists, I FCLOSE() and ERASE it. However, if two users are going into that process at the about same time, it may well be that once one does FCLOSE() that the other one gets its FOPEN() before the first one do the ERASE thus it generates an error on the first one on that command.
>
>Here's the code:
>
>
>lnHandle=FOPEN(gcClientFat+'StyleSheet\'+PADL(gnMember,6,'0')+lcNextItem+'.css',12)
>IF lnHandle>0
>   FCLOSE(lnHandle)
>   ERASE (gcClientFat+'StyleSheet\'+PADL(gnMember,6,'0')+lcNextItem+'.css')
>ENDIF
>
>
>How can I make sure that the exclusive is preserved from the FOPEN() command to the ERASE command? Basically, I need to improve that mechanism to assure no collision happens.
--sb--
Previous
Next
Reply
Map
View

Click here to load this message in the networking platform