Приветствую!
Используем:
Код для воспроизведения:
P.S. Изменение ключа нанесенного знака также наблюдается еще на 64 знаках.
С уважением,
Александр.
Используем:
- ГИС Конструктор для Qt Designer x64 (версия 12.5.0), ОС Astra Linux,
- Классификатор operator.rsc из состава ГИС Оператор 12, ОС Astra Linux
Код для воспроизведения:
Код |
---|
#include <QString> #include <QDebug> #include "mapapi.h" #include "sitapi.h" int main() { QString siteName("/tmp/test.sitx"); QString rscName("/usr/Operator12/operator.rsc"); CREATESITEUN cs; memset((void*) &cs, 0, sizeof(cs)); cs.Length = sizeof(CREATESITEUN); cs.EllipsoideKind = 9; cs.MapType = 16; HMAP hsite = mapCreateSiteUn((const WCHAR*) siteName.constData(), (const WCHAR*) rscName.constData(), &cs); mapSetRealShowScale(hsite, mapScaleToRoundScaleEx(hsite,200000.)); if (hsite !=0) { double x = 6170046; double y = 7409328; HOBJ hobj = mapCreateSiteObject(hsite, hsite, IDDOUBLE2, 0); const char* original = "312625003141"; if (mapRegisterObjectByKey(hobj, original) != 0) { int size = 3000; mapAppendPointPlane(hobj,x,y,0); mapAppendPointPlane(hobj,x - size,y,0); mapCommitObject(hobj); } else { qDebug() << "No sign "; } const char * key = mapObjectRscKey(hobj); if(strcmp(key, original)) { qDebug() << "The original key " << original << " is not equals " << key; } mapFreeObject(hobj); mapCloseData(hsite); } else { qDebug() << "Wrong site"; } } |
С уважением,
Александр.