На главную... Продукты | Технологии | Классификаторы | Проекты | Скачать | Цены| Форум | Статьи | Обучение | Контакты

gisToolKit 64

Поиск  Пользователи  Правила  Войти
Форум » Настольные приложения » GIS ToolKit, GIS ToolKit Active, ГИС Конструктор для Windows
Страницы: Пред. 1 2 3 4 5 След.
RSS
gisToolKit 64
 
Скорее всего hobj настроен на карту, которая не поддерживает геодезию.
 
Вернул CreateAndAppendSite_EP ошибка shd воспроизводится.

Опять перешел на CreateSite_EP и AppendData
на 32 битной с этой же картой mapAppendPointGeo работал ..

саму карту приложить не могу до 90% доходит прогресс-бар и останавливается ( ~100Мб весит )
 
В связи с тем, что ошибка возникает не сразу после вызова  CreateAndAppendSite_EP, а после выполнения некоего текста, то трудно что-то конкретное посоветовать. Вам надо написать тестовый код, который линейно выполняет определенные действия без ветвления в логике программы.
 
Сейчас попробую сделать.
Подскажите пожалуйста как можно обойти ошибку с mapAppendPointGeo
 
Воспроизвелась ошибка на тестовом примере.

3 кнопки:
1. Открыть карту
ui->axMapWidget->dynamicCall( "MapOpen(QString, bool)", "c:\\app_development_64\\maps\\36\\region.map", true );

2. Создать и открыть сит
QList<QVariant> vals;
vals.clear();
vals.push_back( "c:\\app_development_64\\maps\\SITS\\reslocation_77.sit" );
vals.push_back( "c:\\app_development_64\\maps\\SITS\\classifier.rsc" );

QString mapName = "SIT_" + ui->axMapWidget->property("MapName").value<QString>();

vals.push_back( mapName.toStdString().c_str() );

CREATESITEUN createsite;
createsite.MapType =0;                           //* Обобщенный тип карты */
createsite.MaterialProjection =0;     //* Проекция исх. материала */
createsite.Scale =0;                               //* Масштаб */
createsite.FirstMainParallel =0;       //* Первая главная параллель */
createsite.SecondMainParallel =0;     //* Вторая главная параллель  */
createsite.AxisMeridian =0;                 //* Осевой меридиан */
createsite.MainPointParallel =0;       //* Параллель главной точки */

vals.push_back( createsite.MapType );
vals.push_back( createsite.MaterialProjection );
vals.push_back( createsite.Scale );
vals.push_back( createsite.FirstMainParallel );
vals.push_back( createsite.SecondMainParallel );
vals.push_back( createsite.AxisMeridian );
vals.push_back( createsite.MainPointParallel );

ui->axMapWidget->dynamicCall( "CreateAndAppendSite_EP(QString,QString,QString,int,int,int,double,double,double,double)", vals );

3. Количество объектов в сите
QAxObject * SITs = ui->axMapWidget->querySubObject( "MapSites" );
QAxObject * SIT = NULL;

if ( SITs->property( "SiteCount" ).toInt() >= 1 ){

   SIT = SITs->querySubObject( "Item(int)", 1 );

   int cnt = SIT->dynamicCall("SiteObjectCount()" ).toInt();
   QMessageBox::information(this,"getCountObjects","SiteObjectCount=" + QString::number(cnt) );

}

сначала выводится ошибка, потом сообщение количества объектов
ошибка.JPG (42.71 КБ)
 
Вопрос не в части "программирования". А если полностью удалить ВСЕ карты из папки c:\\app_development_64\\maps\\SITS\\ и после этого повторить?
 
Подскажите, карта region.map состоит из какого набора карт? В ее составе есть карта RU-VOR.shd?
Я правильно понимаю, что в х32 этот же код работает корректно?
 
Andrey Gheleznyakov навел на еще одну мысль - может в ini карты (region.map) и прописана карта RU-VOR?
 
Цитата
Vitaliy Belenkov написал:
Вопрос не в части "программирования". А если полностью удалить ВСЕ карты из папки c:\\app_development_64\\maps\\SITS\\ и после этого повторить?
Я там оставляю только классификатор.. остально все чищу..
Цитата
Vitaliy Belenkov написал:
Andrey Gheleznyakov  навел на еще одну мысль - может в ini карты (region.map) и прописана карта RU-VOR?
не совсем понял. Приложил и мапу и ини .. в мапе есть ссылка .. только причем тут сит или почему он создается не с тем shd или подразумевается что ситы должны с картой в одной папке лежать?
Цитата
Andrey Gheleznyakov написал:
Подскажите, карта region.map состоит из какого набора карт? В ее составе есть карта RU-VOR.shd?
Я правильно понимаю, что в х32 этот же код работает корректно?
в 32 битах данной ошибки не возникало. Карты открывались, объекты наносились.. но там была проблема с памятью .. но предлагаю этот вопрос не рассматривать тут.. иначе совсем запутаемся.
карта.JPG (74.08 КБ)
 
Попробовали сделать то же самое в Delphi (10.3 )
 Self.axcMapView1.MapOpen('d:\app_development_64\maps\36\region.map', true);
 Self.axcMapView1.CreateAndAppendSite_EP('d:\app_development_64\maps\SITS\1.sit',
         'd:\app_development_64\maps\SITS\classifier.rsc',
         '123',0,0,0,0,0,0,0);

Собрали под платформу x64 , разрегистрировали 32-битные компоненты ax*.ocx, и запустили приложение - ошибка воспроизвелась
Скрин приложили
Страницы: Пред. 1 2 3 4 5 След.
Читают тему (гостей: 1)



© КБ Панорама, 1991-2024

Регистрируясь или авторизуясь на форуме, Вы соглашаетесь с Политикой конфиденциальности