Microsoft KB Archive/138066

= How To Handle OLE Automation Server Timeout and Synchronization =

Article ID: 138066

Article Last Modified on 7/1/2004

-

APPLIES TO


 * Microsoft Visual Basic 6.0 Learning Edition
 * Microsoft Visual Basic 6.0 Professional Edition
 * Microsoft Visual Basic 6.0 Enterprise Edition
 * Microsoft Visual Basic 5.0 Professional Edition
 * Microsoft Visual Basic 5.0 Enterprise Edition
 * Microsoft Visual Basic 4.0 Standard Edition
 * Microsoft Visual Basic 4.0 Professional Edition
 * Microsoft Visual Basic 4.0 Professional Edition
 * Microsoft Visual Basic 4.0 16-bit Enterprise Edition
 * Microsoft Visual Basic 4.0 32-Bit Enterprise Edition

-



This article was previously published under Q138066



SUMMARY
There are seven properties of the App object that allow you to handle the timing and synchronization of OLE calls made from a Visual Basic client to an OLE automation server:

OLERequestPendingTimeout

OLERequestPendingMsgText

OLERequestPendingMsgTitle

OLEServerBusyTimeOut

OLEServerBusyMsgText

OLEServerBusyMsgTitle

OLEServerBusyRaiseError



MORE INFORMATION
Client calls to methods or properties on OLE Automation Servers are synchronous; that is, the calls do not return until the particular procedure has finished. This might be an issue if a particular call takes so long that the user starts clicking the mouse or pressing the keyboard to elicit some response. The user may then falsely conclude that the application is not working when, in fact, it is only busy. This situation might appear even more confusing when the OLE Automation server is invisible. Under such circumstances, OLE brings up a dialog box displaying a cryptic message that the server is busy.

The OLERequestPendingMsgText and OLERequestPendingMsgTitle properties can be used to customize the message actually displayed under these circumstances to better reflect the actual situation, and the length of time after which the message will be displayed can be controlled by the OLERequestPendingTimeout property.

A similar message will be displayed when the OLE server rejects an OLE Automation request from a client. The client will keep trying until the number of milliseconds specified in the OLEServerBusyTimeOut property has elapsed. The OLEServerBusyMsgText and OLEServerBusyMsgTitle properties allow you to customize the actual messages displayed.

The OLEServerBusyRaiseError property determines whether a rejected OLE Automation request raises an error instead of displaying a "busy" message. Raising an error when an OLE server rejects an OLE Automation request returns control to your program, which allows you to provide your own custom dialog box in place of either the default Server Busy dialog box or the customized busy message. The OLE Automation error that will be raised is -2147418111 (&h80010001)

The App object implements these properties by supporting the IMessageFilter OLE interface. Please refer to the OLE Programmer's Reference for more details on this interface.

Additional query words: kbVBp400 kbVBp500 kbVBp600 kbVBp kbdsd kbDSupport kbAutomation kbInterop kbOLE

Keywords: kbhowto kbgrpdsvb KB138066

-

[mailto:TECHNET@MICROSOFT.COM Send feedback to Microsoft]

© Microsoft Corporation. All rights reserved.