Level Extreme platform
Subscription
Corporate profile
Products & Services
Support
Legal
Français
Replace all can't lock header
Message
From
02/12/1997 18:42:23
 
 
To
02/12/1997 09:17:02
General information
Forum:
Visual FoxPro
Category:
Coding, syntax & commands
Miscellaneous
Thread ID:
00063169
Message ID:
00063440
Views:
60
>>SET LOCK ?
>>
>>Vlad
>>
>>>I have several utilities in my app that use the REPLACE ALL command, as well as the DELETE all command. I am aware that both of these statements lock the table header during their execution, so that that no other changes can be made before they finish. This is a limitation I have been able to live with thus far. I just returned from vacation, and now all of these utilities don't work with other people in the tables. This has never been a problem before, and I can't figure out what could have changed. All of the sudden, any time I try to issue a REPLACE ALL, from the command window (on my machine or any other machine) or one is issued in code from the app, I either get an error message ("File is in use by another") or a wait window ("Attempting to lock...") depending on the REPROCESS setting in the current datasession. What have I changed to cause this?
>
>Well, that was my first guess too, but on checking in help, I found that SET LOCK doesn't apply to REPLACE ALL and DELETE ALL. From what I understand these statements lock the table all of the time, no matter what. What I don't understand is why they can't do it now, and they could before. This is causing MAJOR problems for us; any insight that anyone could give would be greatly appreciated. Thanks.

But it applies to other commands that might lock the dbf, so your REPLACE/DELETE ALL will not be able to lock the dbf. SET LOCK is scoped to the data session.

Also: Do you use RLOCK()/LOCK()/FLOCK()? If yes, look for such locks that are not removed.

Vlad
Previous
Reply
Map
View

Click here to load this message in the networking platform