HOWTO: Handle OLE Automation Server Timeout and Synchronization
ID: Q138066
|
The information in this article applies to:
-
Microsoft Visual Basic Learning, Professional, and Enterprise Editions for Windows, version 6.0
-
Microsoft Visual Basic Professional and Enterprise Editions for Windows, version 5.0
-
Microsoft Visual Basic Standard, Professional, and Enterprise Editions, 16-bit and 32-bit, for Windows, version 4.0
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 : kbGrpVB
Version :
Platform : NT WINDOWS
Issue type : kbhowto