DOCUMENT:Q104238 07-MAY-2001 [visualc] TITLE :FIX: ClassWizard Cannot Read .CLW File > 65530 Bytes PRODUCT :Microsoft C Compiler PROD/VER:winnt: OPER/SYS: KEYWORDS:kbMFC kbVC100bug kbVC150fix kbClassWizard kbGrpDSVCCompilerkbbuglist kbfixlist ====================================================================== 1.00 | 1.00 WINDOWS | WINDOWS NT kbtool kbfixlist kbbuglist ------------------------------------------------------------------------------- The information in this article applies to: - The ClassWizard, used with: - Microsoft Visual C++ for Windows - Microsoft Visual C++ 32-bit Edition ------------------------------------------------------------------------------- SYMPTOMS ======== Invoking ClassWizard produces the following message: Out of memory. Unable to complete command CAUSE ===== The project .CLW file (containing Class Wizard information) may have grown larger than 65530 bytes. This can occur if a project contains many classes that have been created using Class Wizard. RESOLUTION ========== There are two possible workarounds for this problem: - Divide your project into multiple projects [that is, one project that builds a static library (.LIB file) containing the code that most likely won't change, and the other project that builds the .EXE and includes the library in the linker options]. -or- - Delete the .CLW file and reconstruct the .CLW using only the source files that are significant. To build a new .CLW file, follow these steps: 1. Delete the existing .CLW file. 2. Load the project. 3. Go to App Studio. 4. Invoke ClassWizard by typing CTRL+W or choosing the Class Wizard button. 5. A message box will be displayed asking to rebuild the .CLW. Choose Yes. 6. A dialog box be displayed similar to the one shown on page 133 of the Visual C++ for Windows App Studio "User's Guide." The dialog box permits the user to select the source files that will be scanned by Class Wizard. By default, the dialog box selects all files. To minimize the amount of ClassWizard information that will be placed in the .CLW file, select only the source files that contain the classes for which you think you will need ClassWizard. NOTE: Be cautious when deleting a .CLW file! First, you may lose message filter information for classes. Message filters determine what messages are displayed in the Messages list box in ClassWizard. To change the message filter for a class, choose the Class Info button and then select the appropriate filter from the Message Filter combo box. Second, the project will lose information that maps resources created in App Studio to classes created in ClassWizard. For example, when a developer invokes Class Wizard when a dialog box resource is present in App Studio, ClassWizard keeps information in the .CLW file that tells it which class is associated with that resource (information for the class is displayed). If the .CLW file is deleted, the user may be asked to select a class for the resource. This can cause a problem. Consider the following scenario: 1. A dialog box is created in App Studio. 2. The .CLW file is deleted. 3. The developer reconstructs the .CLW file. 4. An attempt is made to create a class for the dialog box. When an attempt is made to create a class for the dialog box, a list box appears on the screen asking which class is to be associated with the dialog box rather than the Add Class dialog box. Because no class has yet been created by ClassWizard, the list box is inappropriate. To resolve the problem, go to the Visual Workbench instead and invoke ClassWizard. Select Add Class from the ClassWizard dialog box. You will then be permitted to create a class for the dialog box, as well as specify the ID of the dialog box resource that will be associated with the class. STATUS ====== Microsoft has confirmed this to be a bug in the products listed at the beginning of this article. This bug was corrected in Microsoft Visual C++ for Windows version 1.5. REFERENCES ========== See Chapter 9 in the App Studio "User's Guide" for more information about rebuilding the .CLW file. Additional query words: 1.00 1.10 listbox combobox 64K ====================================================================== Keywords : kbMFC kbVC100bug kbVC150fix kbClassWizard kbGrpDSVCCompiler kbbuglist kbfixlist Technology : kbVCsearch kbAudDeveloper kbClassWizard Version : winnt: Issue type : kbbug Solution Type : kbfix ============================================================================= 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. Copyright Microsoft Corporation 2001.