| ResOrg Benefits and Features |
|
For each project within a solution, ResOrg allows the symbol definition file (it doesn't have to be called resource.h, incidentally) for one or more projects to be viewed or edited directly. If (as happens all too often) a symbol file has two or more symbols with the same value, they will be identified as conflicting symbols and displayed in red: As you'd expect, individual symbols can be added, edited or removed (be careful with the latter!), but the real power of ResOrg is its ability to detect conflicts or out of range symbols and intelligently renumber them. The Symbol Properties Dialog for a symbol whose value conflicts with another in the same resource symbol file will warn of the conflict, and provides a quick way to resolve it: HTML ReportsIn large projects the ability to identify problems can become critical. To that end, ResOrg provides facilities for generating HTML reports showing the symbols in a module - or just those which ResOrg has identified have a problem with their name or value: Although the two reports provided (a full Symbols Report and a Problem Symbols Report) should meet most needs it is also possible to use an external XSLT stylesheet to produce custom reports. Riverblade would of course be pleased to assist customers with specific requirements in this area. Please do not hesitate to contact us if this is the case.
Symbol Renumbering WizardIf bulk changes are required, the Resource Symbol Renumbering Wizard will guide you through the process of renumbering all of the symbols in a given resource file (click on a picture to see a larger image): When run, the wizard will identify suitable ranges for the symbols, and renumber them appropriately. Conflicting symbol values can be quickly and easily eliminated by this process.
Exclusion of symbols from renumbering operationsUnfortunately, renumbering some symbols can cause problems. Although the Symbol Renumbering Wizard allows individual symbols to be excluded from renumbering operations, it can be convenient to globally exclude specific symbols (such as IDR_MAINFRAME) from automatic renumbering across any file. The "Fixed Symbols" page* in the Options Dialog provides the ability to do this:
* Available in ResOrg 1.6 and above Any symbols listed in this page will not be automatically considered for renumbering by the Symbol Renumbering Wizard.
Keeping Users InformedResOrg is a fairly complex product, and we try to produce updates as often as we reasonably can. However, releasing new versions is all very well, but how do you let those using the software know that it's been updated? ResOrg includes several mechanisms to make this process easier (and reduce the number of versions we have to support!):
Note that the update check does not send any information to the server - it merely reads a small text file to determine the latest released product version, and compares that against the version which is currently running. If the running version is older than that reported by the server, the details of the new version will be displayed in the prompt above. By default this check occurs every 7 days. This interval can be changed - or version checking disabled entirely - from the "Updates" page of the Options Dialog:
Finally, although not a part of the product itself, the Riverblade Developers' Blog (Products, the Universe and Everything) is another way to find out what the current plans for ResOrg, and discuss forthcoming or requested features. An RSS feed is also included for convenience.
Additional Features in ResOrg.NETResOrg.NET is the ResOrg add-in for Visual C++ .NET. As well as a radically different development environment, Visual C++ .NET also introduces a new extensibility model, which allows add-ins much closer integration with the environment than previous versions. Unfortunately, this comes at the price of backward compatibility, since the new extensibility model is not backward compatible to previous versions of Visual C++. For ResOrg, the new model and environment adds a whealth of possibilities which it is only just starting to exploit. Future versions are likely to offer much closer integration. ResOrg.NET (the ResOrg add-in for Visual C++ . NET) has - with the exception of the lack of an "Add-In" tab in the Options dialog - exactly the same capabilities as the Visual C++ 5.0/6.0 version of ResOrg. It does however add one additional facility - a "Tool Window" which shows a summary of the properties of a selected resource symbol file: From the tool window you can quickly see whether a symbol file has ID conflicts or if its "Next Symbol" values are in use...and view/modify it's properties, Open the main ResOrg.NET user interface to do more in-depth editing, or even launch the Symbol Renumbering Wizard.
A Word of WarningPlease exercise caution when renumbering symbols using ResOrg. Under certain circumstances doing so can cause problems, which is the last thing we want to happen. The issues we're aware of are:
Since ResOrg allows you to specify which symbols you want to renumber (and how to do it), you can exclude symbols which are likely to cause problems if their values are changed from the renumbering process. A good version control system is invaluable here, since it provides a quick way to review (and throw away if necessary) any changes made. If you haven't got access to one, please back up your resource and resource symbol files before attempting to renumber symbols. Ultimately, we hope to add the capability to read/write resource files directly. Once this is in place, ResOrg will be able to circumvent some of these issues.
Limitations
|