>Fred,
>
>It depends on what the first process is. If it's a single statement, no it won't, but there's no way to put a doevents into a single statement. If it's a loop with Doevents in it, you most certainly can launch another process. For example put two buttons with this click() on a form:
>
>? this.Name + str( seconds() )
>
>this.Enabled = .f.
>i = seconds() + 5
>do while seconds() <= i
> doevents
>enddo
>this.Enabled = .t.
>
>Click one of them and then click the other, the second will fire up before the first finishes.
>
>>It doesn't quite allow them to start another process, not at least until the first one finishes. But having the DOEVENTS in the click of the button did stop THAT button from being re-executed, but it did not stop another button from being pressed.
You are right! The first one continues (it is interrupted by the second), but it runs sluggishly. This must be that other problem you had a thread on awhile back.