DOCUMENT:Q173165 07-MAY-2001 [visualc] TITLE :FIX: Modified Resource Files Don't Affect Resources PRODUCT :Microsoft C Compiler PROD/VER:WINDOWS NT:5.0,6.0 OPER/SYS: KEYWORDS:_IK920 kbVC kbVC500 kbVC600 kbVS97 kbGrpDSTools ====================================================================== ------------------------------------------------------------------------------- The information in this article applies to: - Microsoft Visual C++, 32-bit Enterprise Edition, versions 5.0, 6.0 - Microsoft Visual C++, 32-bit Professional Edition, versions 5.0, 6.0 - Microsoft Visual C++, 32-bit Learning Edition, version 6.0 - Microsoft Visual Studio 97 ------------------------------------------------------------------------------- SYMPTOMS ======== If you have altered a resource script outside of the resource editor (for example, by hand or by using a version control system), Developer Studio notices the change and asks you if you want to reload. If you answer yes, the reload seems to succeed and no error message appears. However, the resource view does not reflect the changes made to the .RC file outside of the resource editor, even if you reload it. CAUSE ===== The resource editor generates and uses a .APS file. This file contains a binary format of the resources. This file is not recompiled when the resource script is changed outside of Developer Studio. Only replacing the .RC and RESOURCE.H resource files is not sufficient if you want the resource view to reflect the changes made to the resources. RESOLUTION ========== To work around this problem: - Make sure that the project is closed. Replace the .APS , .RC and RESOURCE.H files. -or- - Make sure that the project is closed. Delete the .APS file and replace both the .RC and RESOURCE.H files. In this case, the project compiles a new .APS file that reflects the changes in the .RC file. STATUS ====== Microsoft is researching this problem and will post new information here in the Microsoft Knowledge Base as it becomes available. MORE INFORMATION ================ Steps to Reproduce Behavior --------------------------- 1. Create a new MFC-SDI project called MYAPP with the AppWizard. 2. In the resource editor, change the resource ID for menu item "File-New" from ID_FILE_NEW to ID_NEW. 3. On the File menu, select Save All. 4. Backup MYAPP.RC and RESOURCE.H from the project directory to another location. 5. Revert the resource ID for "File-New" to ID_FILE_NEW. 6. On the File menu, select Save All. 7. Restore the backup files MYAPP.RC and RESOURCE.H. 8. Developer Studio notices the change and asks you to reload resource. Click "yes". 9. Examine the Properties for menu item "File-New". 10. The resource ID for "File-New" should have been restored to ID_NEW, but it is still ID_FILE_NEW. 11. If you Save All, the MYAPP.RC and RESOURCE.H files will be overwritten with information from the MYAPP.APS file. REFERENCES ========== For more information, please see the following article in the Microsoft Knowledge Base: Q135912 PRB: Wrong Resources Loaded by Resource Editor or AppStudio Q132340 Common File Extensions Used by Visual C++ Additional query words: resource version kbvc500 kbvc600 ====================================================================== Keywords : _IK920 kbVC kbVC500 kbVC600 kbVS97 kbGrpDSTools Technology : kbVCsearch kbVSsearch kbAudDeveloper kbVC500 kbVC600 kbVC32bitSearch kbVS97 kbVS97Search kbVC500Search Version : WINDOWS NT:5.0,6.0 Issue type : kbbug kbprb 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.