My colleague used bcgcontrolbarpro to process the interface. Today, a strange thing happened when I modified the menu resource: No matter how you modified it,ProgramAfter running, the previous menu is always displayed. It does not help to clear temporary files, generate files, and re-compile the files multiple times. My colleagues have been tossing for a long morning, so they are not very depressed.
I searched the entire project with ultraedit and did not find any previous string resources. Therefore, the compiler problem was eliminated. It's not a compiler problem, so it's just a problem with BCG. I suspect that BCG is "memorizing" resources. To verify this idea, I asked my colleagues to copy the new program to a machine that has never used the program. The result shows that it is normal.
To find out, I used the file system monitoring tool (Filemon) and registry monitoring tool (regmon) to monitor my colleagues' programs, the result shows that BCG creates a registry entry under the Software Directory of the hkcu in the registry using the application name. The interface parameters of the program are saved in it, and the registration key can be deleted to work properly. The problem that plagued my colleagues finally came to the fore.
Later, I searched the internet and found that there were still many friends who were struggling with the problem. The solution was to clear the cached data through the cleanstate method provided by BCG. I have never used BCG, but I don't understand it. What is the significance of this? Whatever the purpose, this is a bad design in practical applications. However, maybe the designer of BCG has some special considerations. Let's talk about it later.