Russian Qt Forum
Ноябрь 24, 2024, 14:11 *
Добро пожаловать, Гость. Пожалуйста, войдите или зарегистрируйтесь.
Вам не пришло письмо с кодом активации?

Войти
 
  Начало   Форум  WIKI (Вики)FAQ Помощь Поиск Войти Регистрация  

Страниц: [1]   Вниз
  Печать  
Автор Тема: Путь к plugin dll из самого plugin  (Прочитано 2426 раз)
xokc
Птица говорун
*****
Offline Offline

Сообщений: 976



Просмотр профиля
« : Июль 16, 2010, 13:37 »

Как внутри самого плагина получить имя dll этого самого плагина? В Windows это делается через GetModuleFileName(hInstance, ...), где hInstance получается из аргументов в dllmain. А как это можно сделать в Qt?
Записан
NicK
Гость
« Ответ #1 : Июль 19, 2010, 22:26 »

можно сделать следующим образом:

определять путь к файлу плагина при его загрузке в самом приложении и передавать этот путь в плагин.

Объявление класса интерфейса:
Код:
        
        ...

class IPlugin
{
        public:
            virtual ~IPlugin() {}

        ...

            virtual void initPlugin(const QStringList &strlstParameters) = 0;

        ...

};

Где-нибудь самом приложении при подключении плагина, передаем туда те параметеры, которые нам нужно:
Код:
        ...

        plug->initPlugin(sendParameters2Plugin());

        ...

В самом плагине:
Код:
        ...

void myPlugin::initPlugin(const QStringList &strlstParameters)
{
        ...
        //получаем путь к плагину из переданных из приложения параметров
        ...
}
        ...
« Последнее редактирование: Июль 19, 2010, 22:30 от NicK » Записан
xokc
Птица говорун
*****
Offline Offline

Сообщений: 976



Просмотр профиля
« Ответ #2 : Июль 20, 2010, 21:22 »

Да это-то вариант очевиден. Сейчас примерно так и сделано. Но как-то корявенько все это.
Записан
Страниц: [1]   Вверх
  Печать  
 
Перейти в:  


Страница сгенерирована за 0.076 секунд. Запросов: 23.