FIX: Modified Resource Files Don't Affect Resources
ID: Q173165
|
The information in this article applies to:
-
Microsoft Visual C++, 32-bit Editions, versions 5.0, 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
- Create a new MFC-SDI project called MYAPP with the AppWizard.
- In the resource editor, change the resource ID for menu item "File-New"
from ID_FILE_NEW to ID_NEW.
- On the File menu, select Save All.
- Backup MYAPP.RC and RESOURCE.H from the project directory to another
location.
- Revert the resource ID for "File-New" to ID_FILE_NEW.
- On the File menu, select Save All.
- Restore the backup files MYAPP.RC and RESOURCE.H.
- Developer Studio notices the change and asks you to reload resource.
Click "yes".
- Examine the Properties for menu item "File-New".
- The resource ID for "File-New" should have been restored to ID_NEW,
but it is still ID_FILE_NEW.
- 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 : kbResourceEd kbVC kbVC500 kbVC600 kbVS97 kbGrpDSTools
Version : WINDOWS NT:5.0,6.0
Platform : NT WINDOWS
Issue type : kbprb