PRB: MFC ActiveX Document Servers Require Compound File Support (166769)



The information in this article applies to:

  • The Microsoft Foundation Classes (MFC), when used with:
    • Microsoft Visual C++, 32-bit Enterprise Edition 4.2
    • Microsoft Visual C++, 32-bit Professional Edition 4.2
    • Microsoft Visual C++, 32-bit Enterprise Edition 4.2b
    • Microsoft Visual C++, 32-bit Professional Edition 4.2b
    • Microsoft Visual C++, 32-bit Enterprise Edition 5.0
    • Microsoft Visual C++, 32-bit Professional Edition 5.0
    • Microsoft Visual C++, 32-bit Enterprise Edition 6.0
    • Microsoft Visual C++, 32-bit Professional Edition 6.0
    • Microsoft Visual C++, 32-bit Learning Edition 6.0

This article was previously published under Q166769

SYMPTOMS

When you save an ActiveX Document that does not use compound files from Internet Explorer functioning as an ActiveX Document Container, the file will be saved in compound document format. Subsequent attempts to load the file in Internet Explorer results in the exception "Unexpected File Format."

Microsoft Binder will not load the document.

CAUSE

The MFC ActiveX Document Server classes normally require compound file support.

RESOLUTION

Add a call to EnableCompoundFile(TRUE) in the document constructor:
   CScribDoc::CScribDoc()
   {
        // ...
        EnableCompoundFile(TRUE);
   }
				

MORE INFORMATION

Creating a new ActiveX Document server or regular OLE embedding server in AppWizard selects compound file support by default. The assertion problem occurs if compound file support was deselected when the project was initially created.


Modification Type:MajorLast Reviewed:12/10/2003
Keywords:kbActiveDocs kbAutomation kbLocalSvr kbprb KB166769