Hi!
What about returning to the calleer program? In other words, you have following:
...
DO MyLongProcess
...
do while oValid.lContinue
User pressed ESC here, so oValid.lContinue=.f.
lots of other code
enddo
...
return to &lcProcName
I guess this will stop the long process immediately, though you will require to do the cleanup in the caller PRG instead of at th end of MyLongProcess PRG.
HTH.
>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.
Vlad Grynchyshyn, Project Manager, MCP
vgryn@yahoo.comICQ #10709245
The professional level of programmer could be determined by level of stupidity of his/her bugs
It is not appropriate to say that question is "foolish". There could be only foolish answers. Everybody passed period of time when knows nothing about something.