Article ID: 148139 - Last Review: December 9, 2003 - Revision: 3.0 FIX: Default OLE Container w/ Splitters Faults on View ClosureThis article was previously published under Q148139 On This PageSYMPTOMS
An AppWizard application generated with OLE Container and Splitter Window
support will generate an Access Violation when a splitter pane containing
an in-place active item is closed. The Access Violation occurs when you try
to call m_pView->AssertValid() from the COleClientItem::AssertValid()
function.
CAUSE
The AppWizard fails to add an OnDestroy() member function to the view class
to deactivate the in-place active object when the view containing the
in-place active object is destroyed. When the view containing the active
object is destroyed, the remaining view is resized. Because the object in
the destroyed view was not properly deactivated, the subsequent call to
GetInPlaceActiveObject() in the view's OnSize() function erroneously
detects an in-place active COleClientItem object.
RESOLUTION
To work around the problem, add the following handler for the WM_DESTROY
message to your view class:
STATUS
Microsoft has confirmed this to be a bug in the Microsoft products listed
at the beginning of this article. This problem has been fixed in Visual C++
version 5.0.
MORE INFORMATIONSteps to Reproduce Problem
APPLIES TO
| Article Translations
|

Back to the top
