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

Ошибка при многократном открытии карты

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

Возникла проблема при использовании функция для открытия MAP-файлов (mapOpenData или mapOpenMap): при первом вызове функции всё нормально, идентификатор получен, можно работать. Если карту закрыть (mapCloseData или mapCloseMap), а потом опять открыть, то появится сообщение о невозможности найти shape.iml. Также программа случайным образом падает при вызове библиотечной функции открытия карты. Для тестирования я написал небольшую программу, которая открывает\закрывает конкретную карту, лежащую рядом с исполняемым файлом.

Что уже опробовано:
1. mapSetPathShell -- не помогло, по умолчанию mapGetPathShell возвращает application directory, где и лежит карта
2. mapSetCommonRscPath -- не помогло, а mapGetCommonRscPath по умолчанию возвращает пустую строчку
3. манипуляции с полным именем файла, экранированием слешей и т.п. также ничего не дали

Используется следующий стек: c++11, msvc2013, qt5.5.1, windows 10, gis toolkit 12
Архив с текстом, библиотекой и картой находится по ссылке https://yadi.sk/d/4NJNkXdf39qeq8
Изменено: Александр Комахин - 19.01.2017 18:17:28
 
Здравствуйте, Александр!

Для тестирования библиотек GIS ToolKit версия 12 x64 (gisu64vc*.dll) мы применяем приложение mapviewer, собранное в Microsoft Visual Studio 2008.
http://public.gisinfo.ru/Forum/TestVC_x64_vs2008.zip

Приложение mapviewer позволяет открывать карты, растры, матрицы и демонстрирует работу различных режимов и задач.
Проблем с открытием данных нет.  
 
Цитата
Dmitry_ написал:
Здравствуйте, Александр!

Для тестирования библиотек GIS ToolKit версия 12 x64 (gisu64vc*.dll) мы применяем приложение mapviewer, собранное в Microsoft Visual Studio 2008.
http://public.gisinfo.ru/Forum/TestVC_x64_vs2008.zip

Приложение mapviewer позволяет открывать карты, растры, матрицы и демонстрирует работу различных режимов и задач.
Проблем с открытием данных нет.

Здравствуйте, Дмитрий.

Хотел бы уточнить, что несмотря на то, что ОС x64 библиотеку я использую x32.
Во-вторых, судя по коду, идеология использования функций открытия\закрытия у меня такая же, как и в вашем примере: сначала mapOpenData, затем mapCloseData и очищение hMap. Это-то настораживает.
Может ли причина ошибки заключаться в том, что файлы карты был изначально получен из SXF с помощью ImportAnySXF?

P.S. в вашем mapviewer карта из архива нормально переоткрывается, но появляется сообщение о невозможности найти OSM.p3d, чего раньше не было.
 
Добрый вечер, Александр!

Попробуйте на этом же приложении mapviewer с библиотеками GTK-12 x32.
С открытием карт проблем не наблюдаю.

В состав исходных текстов приложения mapviewer входит проект для библиотек GTK-12 x32 - \TestVC_x64_vs2008\source\mapviewer.vcproj.
Можно добавить в решение VS2008 проект \TestVC_x64_vs2008\source\mapviewer.vcproj и получить выполняемый модуль на этих же текстах для платформы x32.

На всякий случай положил библиотеку gisuacces.lib для сборки проекта под x32. Её нужно скопировать в папку \TestVC_x64_vs2008\lib\.
http://public.gisinfo.ru/Forum/TestVC_x32_lib.zip
 
Добрый вечер, Александр!

Поправили shape.iml. Архив с обновленными библиотеками GTK-12 x32 выложили на сайт gislib12x32.zip
 
Цитата
Dmitry_ написал:
Добрый вечер, Александр!

Поправили shape.iml. Архив с обновленными библиотеками GTK-12 x32 выложили на сайт  gislib12x32.zip
Проблема всё ещё не решена, новый shape.iml не убрал сообщение об ошибке.

P.S. собранное приложение MapViewer 32-х битовой разрядности так же выводит сообщение о ненайденном shape.iml, хотя он лежит рядом с исполняемым файлом (и на всякий случай -- рядом с открываемой картой).
Изменено: Александр Комахин - 27.01.2017 20:24:18
 
У меня  такая же проблема....

На 64 разряда выдает сообщение shape.iml не найден..   обновленные библиотеки поставил - еще новое сообщение показывает   - сс32140mt.dll не найден.


А есть ли версия тестового приложения для 32 разрядов ?
1нимок.PNG (6.08 КБ)
 
У меня программа вообще из одной строки

procedure TForm32.Button1Click(Sender: TObject);
begin
 MapView1.MapFileName:=FilenameEdit_RSC.FileName;
end;
2.PNG (12.23 КБ)
 
Нашел решение проблемы

Удалить из классификатора shape.iml
3.PNG (434.44 КБ)
 
Но на самом деле я просто замазал ошибку.. а она осталась... и неплохо бы как то ее программно исправить.

я заметил, что с этим shape.imp карта сперва очень долго открывается перед сообщением... а если shape удалить - открывается мгновенно
Страницы: 1 2 След.
Читают тему (гостей: 1)



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

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