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

Ник Павлов (Все сообщения пользователя)

Поиск  Пользователи  Правила  Войти
Форум » Пользователи » Ник Павлов
Выбрать дату в календареВыбрать дату в календаре

Страницы: 1 2 3 4 5 6 След.
Пользовательский обработчик ошибок
 
GisToolkitActive 11.3.13
При создании матрицы высот (а иногда и при других действиях) выползает messageBox из недр панорамы. Можно так сделать чтобы он не высвечивался?
axcMapWindow 11.3.13
 
После обновления до 11.3.13 перестал работать mapWindow, ничего не отрисовывает
Привязан к mapScreen.

Код
      Form1(void)
      {
         InitializeComponent();

         axcMapScreen->MapFileName = "c:\\Program Files (x86)\\Panorama\\GIS ToolKit Active\\Example\\DATA\\Podolsk.map";
         axcMapScreen->MapVisible = true;

         axcMapWindow->cMapView = axcMapScreen->C_CONTAINER;
         axcMapWindow->MapVisible = true;
         axcMapWindow->Rendering = true;
         axcMapWindow->Repaint();
      }


картинки: img_1 версия 11.3.13, img_2 версия 11.3.12
Открытие пользовательской карты только на чтение, Как определить по идентификатору пользовательской карты в каком режиме она открыта?
 
подтверждаю, в gislib11.zip/gisacces.dll есть
а вот в gistool11.zip - нет...
Открытие пользовательской карты только на чтение, Как определить по идентификатору пользовательской карты в каком режиме она открыта?
 
вот так у меня экспорты выводит

Код
gisacces.dll
File Version Information : 
      CompanyName   : KB Panorama
      FileDescription   : GIS ToolKit Library
      FileVersion   : version 11.13.2
      Creation Date   : 19/09/2016  14:09:28 
      Last Modif. Date   : 01/04/2016  19:24:02 
      Last Access Date   : 19/09/2016  14:09:28 


Код
dumpbin.exe /exports gisacces.dll | grep mapGetSiteC
       5246 141D 001CFBA0 mapGetSiteCodeFlag
       5247 141E 001CFBE8 mapGetSiteCodeFlagByName
       1690 141F 00074828 mapGetSiteColors
       1688 1420 0007479C mapGetSiteColorsCount
       1686 1421 00074744 mapGetSiteContrast
       5248 1422 001CFD70 mapGetSiteCopyFlag
       5330 1423 001D2718 mapGetSiteCount


dumpbin.exe /exports gisacces.dll | grep mapGetSiteChange - пусто...

в GisTool12 есть, в gisuacces.dll
Изменено: Ник Павлов - 19.09.2016 14:22:36
Конвертация карты в СК-95
 
Подскажите функции для конвертации карты в СК-95. Обычно исходная карта будет в СК-42.
mapApi или activeX.

Я, конечно, могу открыть исходную карту, пройтись по всем объектам в ней и вручную переиначить координаты по ГОСТ32543-2013, но оно же наверняка уже есть в функционале панорамы...
Открытие пользовательской карты только на чтение, Как определить по идентификатору пользовательской карты в каком режиме она открыта?
 
mapGetSiteChangeEditFlag нет в gisacces.dll, может эта пойдёт?
Код
  // Запросить - может ли карта редактироваться
  // hMap  - идентификатор открытой карты
  // hSite - идентификатор открытой пользовательской карты
  // Если нет - возвращает ноль
function mapGetSiteEditFlag(Map : HMap;Site : HSite) : integer;


Код
[DllImport("c:\\windows\\syswow64\\gisacces.dll", CharSet = CharSet::Ansi)]
extern "C" long int mapGetSiteEditFlag(Int32 hMap, Int32 hSite);
...
unsigned int a = mapGetSiteEditFlag(axMap->MapHandle, axMap->MapSites->Item_get(1)->SiteHandle);
C# GIS ToolKit Active тематическая карта
 
слишком здоровенный "пример" получился бы.

это несколько задач, например таких
1) создание sit, добавление его к открытой карте
2) получение координат районов с подложки
3) создание площадных объектов по координатам районов
4) окрашивание этих объектов (я заливку например сам делаю на onMapScreenUpdate, но можно и в семантику (вроде №31002 она) для объекта сразу при создании цвет пихнуть
Изменено: Ник Павлов - 17.09.2016 19:25:07
Описание графики объекта из RSC-классификатора
 
в панораме вроде везде packed record, а оно давно уже выравнивает на байт, так что можно пихать sizeof

по первым двум параметрам - можно в mapgdi.inc посмотреть, там явно индекс цвета (они то с 0 считают, то с 1) и микроны
Код
//  1. Цвет в формате COLORREF (0x00BBGGRR) или номер индекса      *
//   палитры карты в младшем байте, если старший байт равен  = $0F *
//  2. Для описания размеров в точках экрана (пикселах)            *
//     использовать операцию PIX2MKM(число пикселов):              *
//     Parm->Thick = PIX2MKM(2);  (толщина 2 пиксела)  


в последнем параметре (который увеличивает размер с 8 до 12 байт) я бы передавал this, но это лишь предположение
Изменено: Ник Павлов - 17.09.2016 13:10:57
CreateMtr ActiveX стоп создания матрицы высот
 
о, спасибо большое, то что нужно!

(как это я проглядел BuildMtrProcess...)
CreateMtr ActiveX стоп создания матрицы высот
 
а) Как остановить процесс создания матрицы высот из activeX компонента mapScreen? (и как получить данные о прогрессе создания?)
Если перегрузить WndProc компонента mapScreen - то туда сообщение 0x0581 не приходит, подходящих хендлеров в классе не нашёл.

UPD сделал через mapapi, но всётаки хотелось бы знать как через компонент это делать

под спойлером код c++/cli, вдруг кому пригодится
Скрытый текст


б) Получаю сообщения 581h со значениями wparam
 сначала 0,1,1,1,1,1,2,2,2,2,3,3,3,3,3, ... , 14, 14, 14
 потом 1, 2, 3, ..., 99
 и в конце 1, 1, 1, 100
оно так и задумано? сначала чтото распараллелили и несколько потоков отсылают, потом обычное построение, а потом какойто процесс сжатия начинает отсылать?
прогрессбар будет прыгать если всё рисовать "как есть"...

 пока что сделал три прогрессбара на процесс создания матрицы высот...

в) (самое важное) куда нужно запихать 0x0581 для стопа операции? в msg.wParam? не работает ни в wParam ни в lParam, процесс построения продолжается до конца.
Изменено: Ник Павлов - 11.09.2016 13:11:01
Страницы: 1 2 3 4 5 6 След.



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

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