BUG: Error: Undefined Symbol 'DOC' from Custom AppWizard

Last reviewed: July 10, 1997
Article ID: Q152482
4.00 4.10 4.20 WINDOWS NT kbprg kbbuglist

The information in this article applies to:

  • Microsoft Visual C++, 32-bit Edition, versions 4.0, 4.1, 4.2

SYMPTOMS

When using a Custom AppWizard that uses the Standard AppWizard step defined by APWZDLG_APPTYPE (generating an EXE), it is possible to get this error message:

   Undefined Symbol 'DOC'

CAUSE

This behavior occurs if the user did not explicitly select a language in the first step of the Custom AppWizard. Occasionally the language combo box will not initialize with a default language, and if the user does not select one, this error message can occur. If the user moves off the first step, and then back, the combo box will reset and select the first entry in the list as default.

For more information on a related bug, please see the following article in the Microsoft Knowledge Base:

   ARTICLE-ID: Q152255
   TITLE:      PRB: Custom AppWizard Doesn't Initialize Custom Step Dialogs

RESOLUTION

The selection of a language maps to the NUM_LANGS dictionary entry. You can add code to one of your custom dialog steps to ensure that this dictionary item is selected, and instruct the user to return to the first step. This forces the combo box to select a default language and ensures that it matches the user's expectations. This is only necessary for Custom AppWizards that use SetSupportedLanguages().

Code to confirm the definition of NUM_LANGS is in the More Information section below.

STATUS

Microsoft has confirmed this to be a bug in the Microsoft products listed at the beginning of this article. We are researching this problem and will post new information here in the Microsoft Knowledge Base as it becomes available.

MORE INFORMATION

Sample Code

   BOOL CCustom1Dlg::OnDismiss()
   {
       ...

       // Sanity check -- did the user select a language???
       //              -- did the combo box select a default???
       CString strTemp;
       CUSTOM_APP.m_Dictionary.Lookup(_T("NUM_LANGS"), strTemp);

       if ( strTemp == CString("0") )
       {
           AfxMessageBox(_T("Please return to Step 1 of the wizard and "
                            "select a language. Otherwise the wizard will "
                            "not be able to generate your project." );
       }
   }


Additional reference words: 4.00 4.10 4.20 vcbuglist400
KBCategory: kbprg kbbuglist
KBSubcategory: WizardIss
Keywords : WizardIss kbbuglist kbprg
Technology : kbMfc
Version : 4.00 4.10 4.20
Platform : NT WINDOWS


THE INFORMATION PROVIDED IN THE MICROSOFT KNOWLEDGE BASE IS PROVIDED "AS IS" WITHOUT WARRANTY OF ANY KIND. MICROSOFT DISCLAIMS ALL WARRANTIES, EITHER EXPRESS OR IMPLIED, INCLUDING THE WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE. IN NO EVENT SHALL MICROSOFT CORPORATION OR ITS SUPPLIERS BE LIABLE FOR ANY DAMAGES WHATSOEVER INCLUDING DIRECT, INDIRECT, INCIDENTAL, CONSEQUENTIAL, LOSS OF BUSINESS PROFITS OR SPECIAL DAMAGES, EVEN IF MICROSOFT CORPORATION OR ITS SUPPLIERS HAVE BEEN ADVISED OF THE POSSIBILITY OF SUCH DAMAGES. SOME STATES DO NOT ALLOW THE EXCLUSION OR LIMITATION OF LIABILITY FOR CONSEQUENTIAL OR INCIDENTAL DAMAGES SO THE FOREGOING LIMITATION MAY NOT APPLY.

Last reviewed: July 10, 1997
© 1998 Microsoft Corporation. All rights reserved. Terms of Use.