>>George,
>>
>>do while oValid.lContinue
>> User pressed ESC here, so oValid.lContinue=.f.
>> lots of other code
>>enddo
>>
>>I don't want to execute lots of other code, I want to stop loop immediatelly, after oValid.lContinue=.f.
>>
>>In other words, do while checks its condition only in the next pass, it doesn't check its condition inside the loop, which is my desire.
>
>Nadya,
>
>There's little point to checking the status of oValid.Continue either immediately after the top of the loop (it's evaluated there and the iteration structure terminates immediately if it equals .F.), or even shortly thereafter given the execution speed of the program. If there is a lengthly amount of processing to be done (in terms of real time) then periodically check then. You're going to have to make the decision of where you want to test. I certainly wouldn't even consider stopping processing of a structure modification in mid-stream (so to speak). When the operation completes, then check the value.
Thanks, George. I'll add this condition to all my if conditions inside the loop.
If it's not broken, fix it until it is.
My Blog