Client calls to methods or properties on OLE Automation Servers aresynchronous; that is, the calls do not return until the particularprocedure has finished. This might be an issue if a particular call takesso long that the user starts clicking the mouse or pressing the keyboard toelicit some response. The user may then falsely conclude that theapplication is not working when, in fact, it is only busy. This situationmight appear even more confusing when the OLE Automation server isinvisible. Under such circumstances, OLE brings up a dialog box displayinga cryptic message that the server is busy.
The OLERequestPendingMsgText and OLERequestPendingMsgTitle properties canbe used to customize the message actually displayed under thesecircumstances to better reflect the actual situation, and the length oftime after which the message will be displayed can be controlled by theOLERequestPendingTimeout property.
A similar message will be displayed when the OLE server rejects an OLEAutomation request from a client. The client will keep trying until thenumber of milliseconds specified in the OLEServerBusyTimeOut property haselapsed. The OLEServerBusyMsgText and OLEServerBusyMsgTitle propertiesallow you to customize the actual messages displayed.
The OLEServerBusyRaiseError property determines whether a rejected OLEAutomation request raises an error instead of displaying a "busy" message.Raising an error when an OLE server rejects an OLE Automation requestreturns control to your program, which allows you to provide your owncustom dialog box in place of either the default Server Busy dialog box orthe customized busy message. The OLE Automation error that will be raisedis -2147418111 (&h80010001)
The App object implements these properties by supporting the IMessageFilterOLE interface. Please refer to the OLE Programmer's Reference for moredetails on this interface.