Why does Multilizer VCL Scanner give a warning about missing DRC file?

The short answer is: to assign a persistent id and context to a string in Multilizer project.


Delphi compiler compiles a resource string it assigns an id for the string. If you add a new resource string anywhere into the application or delete an existing one, the compiler will give most resource strings a new id.

This ID is a numeric identifier. Without a specified DRC file Multilizer scanner assigns to this string a context based on the numeric ID. When this ID changes in the software -- as described above -- the resulting change of context in Multilizer project may cause loss of translations or a wrong translation to be assigned into existing string.

To prevent this Multilizer should not use the numeric identifier as the resource context but the resource string variable names (e.g. SMyString). These remain constant during the application development. The DRC file contains maps from resource string variable to the resource string id.

Todo in VCL Scanner

To enable the use of the information of the DRC file the user must do two things:

  • Configure Delphi options so that Delphi generates the DRC file; choose in Delphi project options Map File: Detailed.
  • Configure in VCL Scanner Options DRC file name (Project tab).