Microsoft KB Archive/141346

From BetaArchive Wiki
Knowledge Base


FIX: ClassWizard Misspells CPropertyPage in OnFinalRelease()

Article ID: 141346

Article Last Modified on 11/18/2003



APPLIES TO

  • The ClassWizard, when used with:
    • Microsoft Visual C++ 4.0 Professional Edition
    • Microsoft Visual C++ 5.0 Learning Edition



This article was previously published under Q141346

SYMPTOMS

Adding a CPropertyPage-derived class via ClassWizard and selecting OLE Automation Support causes the CPropertyPage::OnFinalRelease() member function to be automatically overridden. The overridden version calls the base class OnFinalRelease(). However, ClassWizard incorrectly spells the base class call. Specifically, the 't' in CPropertyPage is missing.

Attempting to compile this class results in the following error message:

error C2653: 'CProperyPage' : is not a class or namespace name

RESOLUTION

To work around this problem, add the missing 't' to the base class call of OnFinalRelease(), as in this example:

void CTestPage::OnFinalRelease()
{
   // When the last reference for an automation object is released
   // OnFinalRelease is called.  The base class automatically
   // deletes the object. Add any additional cleanup required for your
   // object before calling the base class.

   CPropertyPage::OnFinalRelease();
}
                

STATUS

Microsoft has confirmed this to be a bug in the Microsoft products listed at the beginning of this article. This bug was corrected in Visual C++ 4.1.


Additional query words: kbVC400bug 4.00 4.10

Keywords: kbbug kbfix kbnoupdate kbvc410fix kbwizard KB141346