DOC: MFC CHKBOOK Sample Uses Incorrect Base Class

ID: Q105117

1.00 WINDOWS kbprg kbdocerr

The information in this article applies to:

SUMMARY

The CHKBOOK sample for the Microsoft Foundation Classes (MFC) uses the incorrect document base class in the IMPLEMENT_DYNCREATE and BEGIN_MESSAGE_MAP macros that are in CHECKDOC.CPP. This does not cause any errors in this application because the class used is part of the inheritance tree and no conflicts result in this application. However, errors of this type have the potential to cause run-time errors and should be avoided.

The following lines from CHECKDOC.CPP are in error:

   IMPLEMENT_DYNCREATE(CChkBookDoc, CDocument)

   BEGIN_MESSAGE_MAP(CChkBookDoc, CDocument)

These lines should read:

   IMPLEMENT_DYNCREATE(CChkBookDoc, CFixedLenRecDoc)

   BEGIN_MESSAGE_MAP(CChkBookDoc, CFixedLenRecDoc)

The sample was corrected in Visual C++ version 1.5.

MORE INFORMATION

The CHKBOOK sample is installed in the \MSVC\MFC\SAMPLES\CHKBOOK directory by default.

The inheritance tree for CChkBookDoc looks like this:

   CDocument
       |
       - CFixedLenRecDoc
              |
               - CChkBookDoc

Because CDocument is the base class of CFixedLenRecDoc, using it in these macros does not cause a problem in this sample. Using the incorrect base class could cause problems in other applications.

KBCategory: kbprg kbdocerr KBSubcategory: MfcMisc Additional reference words: 1.00 1.50 2.00

Keywords          : kbdocfix kbnokeyword kbMFC kbVC 
Version           : 1.00
Platform          : WINDOWS

Last Reviewed: May 13, 1998