Level Extreme platform
Subscription
Corporate profile
Products & Services
Support
Legal
Français
Forgot to handle 1705
Message
 
 
To
29/10/1998 08:58:40
General information
Forum:
Visual FoxPro
Category:
FoxPro 2.x
Miscellaneous
Thread ID:
00152055
Message ID:
00152560
Views:
24
>>>ar>>I have an application that's not coded correctly
>>>>>to handle error 1705, which happened when you try
>>>>>to open a DBF that has been exclusively opened by
>>>>>another application.
>>>>>
>>>>>use dbfname shared
>>>>>* the codes assumed 100% successful open
>>>>>replace field1 with value1
>>>>>
>>>>>They should have trapped the error and then check
>>>>>USED("dbfname") before doing anything (like the
>>>>>followings).
>>>>>
>>>>>on error do errhand with errproc()
>>>>>use dbfname shared
>>>>>if !used('dbfname')
>>>>> return .f.
>>>>>endif
>>>>>replace field1 with value1
>>>>>
>>>>>procedure errproc
>>>>>parameter m.error
>>>>> if m.error=1705
>>>>> return
>>>>>
>>>>>Is there a simple way to work round this problem without
>>>>>the need to insert extra codes after _every_ USE sections
>>>>>in the system? There could be a hundred of this sections
>>>>>littering everywhere in the system.
>>>>
>>>>PROCEDURE mainprogram
>>>>ON ERROR DO errhandler WITH ERROR()
>>>>USE dbfname IN 0 shared
>>>>
>>>>
>>>>PROCEDURE errhandler (nerror)
>>>>DO CASE
>>>>CASE nerror = 1705
>>>> WAIT WINDOW 'File is being in used by another user. Retrying access...' NOWAIT
>>>> RETRY
>>>>CASE nerror = etc.
>>>>
>>>>
>>>>ENDCASE
>>>
>>>Careful with this... users don't like an endless loop that they can't escape from.
>>
>>Hmmmm... Then I leave it to the developer's decision if He/She will adopt the same approach. Mine is just sharing the logic behind on how we handle the scenario.
>
>My error handler gives the user a choice to retry or quit. This way, if he knows who has the file open exclusively, he can close it and continue, but if he doesn't he can alwaya cancel the operation.

Yes ofcourse. But what I am only trying to instill here is the logic regardless of how you want the system do when the error is triggered. Lots of options actually depending on the developers perspective.
JESS S. BANAGA
Project Leader - SDD division
...shifting from VFP to C#.Net

CHARISMA simply means: "Be more concerned about making others feel good about themselves than you are in making them feel good about you."
Previous
Reply
Map
View

Click here to load this message in the networking platform