PRB: VB 3.0 OLE Clients Do not Repaint Before OLE Call Returns
Article ID: 149032
Article Last Modified on 7/15/2004
APPLIES TO
- 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 Q149032
SUMMARY
When calling a method or accessing a property of an OLE server from Visual
Basic 3.0, no painting takes place on any of the Visual Basic 3.0 forms
that are showing. This behavior remains until the call to the OLE server
method or property returns. This behavior occurs with OLE servers built in
any environment, including, but not limited to, Visual Basic 4.0. OLE
automation clients built with Visual Basic 4.0 do not show this
characteristic.
CAUSE
To receive Windows paint messages while in a synchronous OLE call, an OLE
automation client must implement the IMessageFilter interface. Visual Basic
3.0 does not implement this interface, and so Visual Basic 3.0 windows
cannot receive any paint messages until a synchronous call returns. Because
Visual Basic 4.0 does implement this interface, painting can continue
without problem before a call has returned.
STATUS
This behavior is by design.
Keywords: kbprb KB149032