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.