На 11 версии работало как часы, а на 12 - всегда ошибка. Карта та же самая.
Подскажите в какую сторону копать. Что изменилось?
Подскажите в какую сторону копать. Что изменилось?
18.11.2020 16:21:47
На 11 версии работало как часы, а на 12 - всегда ошибка. Карта та же самая.
Подскажите в какую сторону копать. Что изменилось? |
|
|
|
18.11.2020 17:08:56
Узнать бы причину ошибки...
Изменено: |
|||
|
|
18.11.2020 18:04:59
Версия 12 уже не поддерживается.
Как вариант - можно в цикле перебрать имена объектов и сделать сравнение: // Запросить имя объекта по внутреннему коду (порядковому номеру) объекта (с 1) // hRsc - идентификатор классификатора карты // incode - внутренний код объекта (номер по порядку) // При ошибке возвращает пустую строку _MAPIMP const char * _MAPAPI mapGetRscObjectName(HRSC hRsc,long int incode); |
|
|
|
18.11.2020 18:07:48
Причина найдена! Я думаю вам будет интересно.
Имеем имя объекта "КВАРТАЛЫ ПЛОТ.ЗАСТР.КРУП.ГОР. ", обратите внимание на пробел в конце строки. - 11 версия выполняя mapGetRscObjectCodeByName при отсутствии пробела в конце выдает ожидаемый результат - 12 версия выполняя mapGetRscObjectCodeByName при отсутствии пробела в конце сообщает об ошибке Судя по всему 11 версия делала trim входной строки, а 12 версия перестала это делать и пытается искать точное соответствие. ИМХО Почему это вылезло у нас - мы делали trim до вызова. Теперь мы передаем ровно то что было получено из mapObjectName. |
|
|
|
18.11.2020 18:22:38
Спасибо за информацию!
Версия 13 сравнивает строки так, как передали. |
||||
|
|
|||
© КБ Панорама, 1991-2024 Регистрируясь или авторизуясь на форуме, Вы соглашаетесь с Политикой конфиденциальности |