|ResOrg - Manage and Renumber Resource Symbol IDs|
ResOrg is a product designed to take the drugery out of the process of managing Visual C++ resource symbols.
A typical Visual C++ project will contain at least resource (.rc) file. Associated with each is a symbol definition file (named resource.h by default) which contains #define directives for each of the resource symbols used in the project.
Resource symbol definitions are created and modified by the Visual C++ resource editor when the resources for a project are edited. Unfortunately, when it does so it often gets it wrong.
How often have you seen this message box whilst editing a dialog:
...even when the symbol names are different? This happens because two symbols with the same value have been used in the same dialog template, and usually arises as a direct result of the way the resource editor allocates symbols.
The problem is that the editor is not particularly intelligent in the way it allocates symbol ID values - and does not provide any facilities to unravel the mess that can all too easily arise as a result. The end result can be a large number of conflicting resource symbol values or even unpredictable behaviour at runtime.
ResOrg came about as a result of the sheer frustration of repeatedly renumbering resource symbols in a large multi-module project (75 modules, and over 3000 symbols) by hand or by using Excel.
ResOrg includes facilities to manage resource symbols at file, module and solution level:
There are actually two versions of ResOrg - a standalone application and a plug-in.
The standalone ResOrg application is capable of working with virtually all Visual C++ projects (including old versions such as Visual C++ 6.0), whilst the ResOrg plug-in offers the same capabilities directly within Visual Studio 2002, 2003, 2005, 2008, 2010, 2012, 2013, 2015 and 2017.
ResOrg offers many features to help make managing resource symbol files easier, of which the following are a small selection: