>Thisform.MyProcess() can return .T. to determine that it is finished. Sorry, I called it YourProcess().
>I think that PeekMessage() can pick message from Windows que and places it in structure and than back into the que unless your specify that you want it to be removed.
>>>do while NOT lResult
>>> =PeekMessage(....) && with removal flag as one of the parameters
>>> lResult = YourProcess()
>>>enddo
What I don't understand is the loop. We are in Visual FoxPro, so the loop will only fires once and will not loop until the method is finished. So, on the first call, which is the only one, it will return .T. So, we will always only loop once.