Случайно обнаружил, что метод mapGetRscSemanticNameByNumber при работе с классификатором operator.rsc возвращает для некоторых семантик значение отличное от возвращаемого mapGetRscSemanticNameByNumberUn. Это баг или фича?
Спасибо.
(Ой, извините, похоже я создал тему в неподходящем разделе)
"Признак цвета объекта", семантика за номером 42 в используемом классификаторе. Там она не единственная, на самом деле, я потом отдельно прошерстил и ещё с десяток откопал.
Да, такое поведение наблюдается - оно связано с тем, что сначала семантики в классификаторе хранились в однобайтовой кодировке (char), после чего добавили возможность хранения семантики в формате WCHAR (кодировка UTF16). Вместе с этим расширился и максимальный хранимый размер семантики, поэтому в семантике формата WCHAR хранится название длиннее (например, "Признак цвета объекта" и "Признак цвета условного знака объекта").
В сумме, если Вы пишете новый программный код, то лучше опираться на функцию mapGetRscSemanticNameByNumberUn.