ID: Q105117
1.00 WINDOWS kbprg kbdocerr
The information in this article applies to:
- Microsoft Visual C++ for Windows, versions 1.0
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.
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