locked
This action cannot be completed because the other program is busy.

    Question

  • I am supporting an application written in Visual C++ 2010, in Windows 7, which calls another executable, also written in Visual C++ 2010, in the following routine:

    void CMainFrame::OnUtilitiesDataeditor()

    {

       BeginWaitCursor();       //ControlClass

       VERIFY( cdataEditdrv.CreateDispatch("ControlClass" ));

       cdataEditdrv.ReleaseDispatch();

       EndWaitCursor();

    }

    Both are part of the same solution in VS 2010, and build simultaneously. The called executable comes up underneath the calling executable, giving the impression that it didn’t come up. Meanwhile there is a circular “Please Wait” cursor.  After clicking on the second executable on the Task Bar, it comes up over the first executable. When you move it to the side, a pop-up error with a title “Server Busy” stating the following shows up:

               “This action cannot be completed because the other program is busy. Choose ‘Switch To’ to activate the busy program and correct the problem”.

    The only way to get out of this is to kill the application in Task Manager. This program worked fine in Windows XP.

    In the debugger, I traced it to the “VERIFY” line, above.

    How do I fix this?


    Friday, July 06, 2012 6:33 PM

Answers