The SolvingState object represents the dialog box appearing while the solution process is
running. The SolveProblem method returns the SolvingState
object if it is called with the NoWait parameter as TRUE. In this case the SolveProblem
method starts solving in a separate asynchronous process and returns control to the caller
immediately.
You can watch for the solution process using properties of the SolvingState object until
its IsActive property returns TRUE.