>>>>>>>>>>>>>>>>>>>
>>Open the DataSession window and select the data session for SDT, then type CLOSE ALL in the command window. I finally had to kill VFP in the task manager.
>>>>>>>>>>>>>>>>>>>
>>
>>Yeah, but WHY would you do that?
>
>
>I normally wouldn't want to do that, but I did.
I build my app on a global variable: goapp. On it is a method: ssiCloseAll(). There is also a property goapp.ssidatasession that tracks the largest datasession number. Each form checks to see if it's datasession is larger than goapp.ssidatasession and, if so, it updates it.
The ssiCloseAll method adds 10 to that number just to be sure all datasessions are covered (like sdt, etc). It then sets itself to each datasession and issues CLOSE ALL. You need to trap error 1540 (session number is invalid). I never use CLOSE ALL anywhere anymore, but rather call the method. This ended all my problems like you mention. This method also restores SET PROCEDURE since it gets closed also.
Dr. Ken A. McGinnis
Healthcare software design