I'm working on making slight changes to a legacy VS 2008 & MFC project, including changes to the WinAPI/MFC *.rc
resource file. I have made those changes, e.g., changing a menu string (for IDR_MAINFRAME
, if it matters) from "New Scan"
to "New Organism"
on one computer, commited to VCS, and tried rebuilding the project on another, practically identical configuration (not sure if relevant), which is when I ran into problems.
Currently, I have
- changes to the menu from within the VS resource editor that do not propagate into the application (old values remain)
- changes to the about dialog that do propagate into the application
- an RC file that contains no mention of
"New Scan"
- no file, including binaries, containing
"New Scan"
(though, as mentioned, this might be due to encoding)
I have
- cleaned and rebuilt
- manually cleaned and rebuilt
- deleted the
*.res
file and compiled just the*.rc
file into a*.res
just to make sure the paths there are alright - modified the configuration so that (Project -> Properties -> Resources -> Command Line) has an absolute path to the
*.res
file.
- verified that the current module is indeed the
exe
being executed viaGetModuleHandle
- verified that the current module is indeed the
- verified that all calls to
FindResource
andLoadResource
passNULL
as the current module, meaning the resource should be loaded from theexe
- verified using ResEdit that the resource within the
exe
contains"New Organism"
, even though it shows"New Scan"
when run. I verified the#define
for the resource is the same number as the number reported by ResEdit. Verified there's no other similar resources in theexe
. - verified that I'm running the same
exe
I'm inspecting and tried running it from both the IDE and from Windows Explorer. - inspected all (two) non-system DLLs that get loaded (as reported by the output window and dependency walker) using ResEdit and both of them belong to a 3rd paty library and none of them contain any menu resources (they only contain manifests).
- tried changing/removing the command that loads the menu (
CFrameWndEx::LoadFrame
) and verified it forces the application to fail.- verified that having an
IDR_AppnameTYPE MENU
with a second copy of the menu doesn't help (see thomiel's answer below)
- verified that having an
- Using google
To no avail. I am especially unsure where the original string, "New Scan"
, is coming from and how come changes to my about dialog propagate and changes to the menu don't. How do I make the changes to the menu propagate to the *.exe
itself?