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

Использование аналога GetCurrentModuleName

Поиск  Пользователи  Правила  Войти
Форум » Linux » Средства разработки ГИС-приложений для Linux
Страницы: 1
RSS
Использование аналога GetCurrentModuleName, При создании кнопок предусмотрена передача в структуре TASKBUTTONINFO параметра HINSTANCE, как в linux по нему получить путь библиотеки?
 
При создании кнопок предусмотрена передача в структуре TASKBUTTONINFO параметра HINSTANCE, как в linux по нему получить путь библиотеки? Пока писал так, после обновления на крайний ГИС Конструктор перестало работать? Какие есть варианты получения пути? Под Windows пока не тестил код, так накидал.
Код
        QString path = "";
        WCHAR Text[MAX_PATH_LONG] = {0};
#ifdef _WIN32
        ::GetModuleFileName((char*)but.hTask, Text, sizeof(Text));
        path = QString::fromUtf16(Text);
#elif __linux__
    link_map* map;
    dlinfo((void*)but.hTask,RTLD_DI_LINKMAP, &map);
    if(!map)
        return 0;
    path.append(*map->l_name);

    delete map;
#endif
Изменено: Максим Казаровец - 07.12.2020 15:42:11
 
Здравствуйте.

Провели проверку. Привожу фрагмент кода примера вернувшего корректный путь к библиотеке.

Код
  HINSTANCE libInstance;
  if (mapLoadLibrary(MAPPICEXLIB, &libInstance, "picexGetPrecisionFromImageFile"))
  {
    struct link_map * map;
    dlinfo((void*)libInstance, RTLD_DI_LINKMAP, &map);
    std::cerr << map->l_name << std::endl;
  }
 
Да, извеняюсь, не передавал HINSTANCE при создании панели. Еще вопрос, как в Linux осуществляется подгрузка иконок на кнопки что передается в качестве hBitmap в структуре TASKBUTTONINFO, и как использовать InsertButtonPNG? Пока думаю написать отдельную exern функцию по запросу QIcon из библиотеки. Есть ли варианты в Qt под Linux аналоги ::FindResource(hInst,  MAKEINTRESOURCE(commandId), RT_BITMAP)?
 
Поясните еще почему в Pantask в функции InsertButton bmpFace стал int? хотя в maptype HBITMAP unsigned long int?
 typedef unsigned long int HANDLE;
 typedef HANDLE HBITMAP;
 
Здравствуйте.

Пример добавления кнопок с помощью PANAPI можно найти в примерах разработки приложений в ГИС "Оператор" SE.
 
Цитата
Константин Ганюшин написал:
Здравствуйте.Пример добавления кнопок с помощью PANAPI можно найти в  примерах разработки приложений в ГИС "Оператор" SE .
Спасибо, посмотрел, не понятно как в дальнейшем из qrc файла по id кнопки идет загрузка изображений?
Изменено: Максим Казаровец - 10.12.2020 12:09:41
 
Здравствуйте.

Для каждой задачи ищется соответствующее изображение в qrc. Название изображения в файле qrc должно быть идентификатором задачи в десятичном виде.
Страницы: 1
Читают тему (гостей: 1)



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

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