FIX: ClassWizard Misspells CPropertyPage in OnFinalRelease() (141346)



The information in this article applies to:

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

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.

Modification Type:MajorLast Reviewed:11/18/2003
Keywords:kbbug kbfix kbNoUpdate kbVC410fix kbwizard KB141346