Why are string tables split into sections in an .rc file?

Viewed 404

In an .rc file strings are grouped by sections of at most 16 strings.

So in a typical .rc file we usually have something like this:

...
STRINGTABLE  // section 1
BEGIN
    IDS_SOMEID_1    "Some text 1"
    IDS_SOMEID_2    "Some text 1"
    IDS_SOMEID_3    "Some text 3"
END

STRINGTABLE  // section 2
BEGIN
    IDS_SOMEID_4    "Some text 4"
    IDS_SOMEID_5    "Some text 5"
    IDS_SOMEID_6    "Some text 6"
END
...

and the IDs of the strings in one section only differ by the least 4 bits.

I wonder why these sections need to be specified explicitely in the .rc file. The resource compiler could take care of this entirely so we could have one single stringtable per .rc file section like this:

STRINGTABLE
BEGIN
    IDS_SOMEID_1    "Some text 1"
    IDS_SOMEID_2    "Some text 1"
    IDS_SOMEID_3    "Some text 3"
    IDS_SOMEID_4    "Some text 4"
    IDS_SOMEID_5    "Some text 5"
    IDS_SOMEID_6    "Some text 6"
END

Does anyone have a rational explanation?

I found some (insufficient) explanations here:

0 Answers
Related