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

Уроки по GIS ToolKit Active для начинающих программистов

Поиск  Пользователи  Правила  Войти
Форум » Настольные приложения » GIS ToolKit, GIS ToolKit Active, ГИС Конструктор для Windows
Страницы: Пред. 1 2 3 4 5 След.
RSS
Уроки по GIS ToolKit Active для начинающих программистов
 
А приложение запускается из под дебаггера в Visual Studio?
Возможно, среда разки переопределяет переменные окружения.
Если при запуске приложения самостоятельно (не из среды разработки) картина не изменится, разместите библиотеки по варианту 1:
Цитата
  Вариант 1. Скопировать содержимое (вместе с поддиректориями)
  - \GISToolActive13\GisDll\X32 в c:\Windows\SysWOW64;
  - \GISToolActive13\GisDll\X64 в c:\Windows\System32.

Какая ОС у Вас?
В какую директорию установлен GIS ToolKit Active?
Покажите содержимое переменной PATH.
Проверьте, нет ли случайно на компьютере библиотеки gis64acces.dll в директориях, согласно штатному алгоритму поиска DLL в операционной системе:
Цитата
1. Каталог, из которого загружено приложение.
2. Системный каталог.
3. 16-разрядный системный каталог.
4. Каталог Windows.
5. Текущий каталог.
6. Каталоги, перечисленные в переменной среды PATH (раньше, чем GISToolActive13\GisDll\X64).
 
1. Windows 10 x64
2. C:\Program Files\Panorama\GISToolActive13
3. Переменная PATH
4. gis64acces.dll есть только в одном месте  C:\Program Files\Panorama\GISToolActive13\GisDll\X64. Прогонял поиском по всем дискам на компьютере

Запускаю приложение как из под среды разработки так и .exe из каталога bin/Debug примера.
Ошибка выглядит вот так Ошибка
Буду пробовать  разместить библиотеку по варианту 1. Хотел уточнить, там нет опечатки в каталогах   -    X32 в  - > \SysWOW64 , X64 -> \System32 ?
Изменено: Александр Смагин - 15.07.2021 17:08:20
 
Цитата
Александр Смагин написал:
Хотел уточнить, там нет опечатки в каталогах   -    X32 в  - > \SysWOW64 , X64 -> \System32 ?

Нет. Всё верно. SysWOW64 – это системная папка, в которой содержатся различные библиотеки файлов, организующих запуск 32-разрядных приложений на 64 разрядной Windows.
В нее как раз надо x32 библиотеки положить.

PS
В Windows 10 есть разные чудеса с файлами в защищаемых папках (в т.ч. C:\Program Files). Предположу, что причина может быть в правах доступа.
 
Денис, спасибо за ответы. Разместил по 1 варианту. Заработало.  
 
Подскажите,  если мне нужно программно открыть  пользовательскую карту поверх карты местности я могу использовать  MAPAPI функцию mapOpenSiteForMap. Ее описание я нашел в sitapi.h. Чтобы ее использовать в C# нужно ее импортировать с помощью DLLImport. Я не понимаю какую DLL мне указывать? И как понять какая функция MAPAPI  в какой dll?
 
Если в заголовочном файле в начале отсутствует информация о загрузке библиотеки, то это значит, что функция находится в gis32acces.dll или gis64acces.dll.
Для остальных в заголовочном файле указано, например,
  #include "maplib.h"                                           *
  HINSTANCE libInst = ::LoadLibrary(RSWGISTLIB);  

RSWGISTLIB определена  в maplib.h как gis64rswg.dll или gis32rswg.dll.
 
Подскажите как маршалировать такую структуру
Код
typedef struct DOUBLEPOINT   // КООРДИНАТЫ ТОЧКИ (ПЛАВАЮЩАЯ МЕТРИКА)
{
  union { double X; double x; };
  union { double Y; double y; };

  void operator = (double value)  {         x  = value;   y  = value;  }
  int operator != (double value)  { return (x != value || y != value); }
  int operator == (double value)  { return (x == value && y == value); }
}
  DOUBLEPOINT;

так не работает

Код
[StructLayout(LayoutKind.Sequential, CharSet = CharSet.Ansi)]
        public struct DOUBLEPOINT
        {
            public double x;
            public double y;
        }

Изменено: Александр Смагин - 31.08.2021 16:08:06
 
На каком языке пишите?
 
Цитата
Andrey Gheleznyakov написал:
На каком языке пишите?
С#

Заработало вроде. Ошибка была в другом месте.
Но если есть другой(правильный) способ объявления такой структуры в C#  напишите пожалуста?
Изменено: Александр Смагин - 31.08.2021 16:55:27
 
У Вас правильное объявление, просто не все операторы С++ можно использовать в С#.
Страницы: Пред. 1 2 3 4 5 След.
Читают тему (гостей: 1)



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

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