Microsoft KB Archive/105117

{|
 * width="100%"|

DOC: MFC CHKBOOK Sample Uses Incorrect Base Class

 * }

Q105117

1.00 WINDOWS kbprg kbdocerr

-

The information in this article applies to:


 * The Microsoft Foundation Classes (MFC), used with:
 * Microsoft Visual C++

-

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"

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.

Additional query words: 1.00 1.50 2.00

Keywords : kbdocfix kb16bitonly kbDocView kbMFC kbVC100bug kbVC150fix kbSampleProd kbDSupport kbGrpDSMFCATL

Issue type :

Technology : kbAudDeveloper kbMFC