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

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

Страниц: [1]   Вниз
  Печать  
Автор Тема: Проблемы с использованием QApplication внутри dll  (Прочитано 3569 раз)
ElderOrb
Гость
« : Июнь 30, 2006, 12:16 »

сабж возникает если нужно одну и ту же dll-ку использовать для Qt-шных, апи-шных и mfc-шных программ. Внутри длл-ки делается экземпляр QApplication-а (чтобы работали Qt-шные виджэты). Тут и возникает проблема: у апишных и мфц-шных программ своего экземпляра QApplication-а нету и соответственно всё ок. А у Qt-шной есть - и соответственно возникает ассерт на тему "должно быть только одно QCoreApplication". Что можно с этим сделать? Или мне придётся делать разные версии длл-ек для Qt и для api/mfc ?

p.s. а может быть есть возможность как-то из самой длл проверить является ли вызывающая её программа Qt-шной и не создавать QApplication в этом случае?
Записан
QCasper
Гость
« Ответ #1 : Июнь 30, 2006, 14:15 »

Цитата: "ElderOrb"
сабж возникает если нужно одну и ту же dll-ку использовать для Qt-шных, апи-шных и mfc-шных программ. Внутри длл-ки делается экземпляр QApplication-а (чтобы работали Qt-шные виджэты). Тут и возникает проблема: у апишных и мфц-шных программ своего экземпляра QApplication-а нету и соответственно всё ок. А у Qt-шной есть - и соответственно возникает ассерт на тему "должно быть только одно QCoreApplication". Что можно с этим сделать? Или мне придётся делать разные версии длл-ек для Qt и для api/mfc ?

p.s. а может быть есть возможность как-то из самой длл проверить является ли вызывающая её программа Qt-шной и не создавать QApplication в этом случае?


наверное как то можно узнать в твоей дллке в рамках этого процесса, создан ли уже 1 экземпляр QCoreApplication, Qt же как-то узнает, так вот если создан, то это Qt приложение, если нет то нет.
Записан
ElderOrb
Гость
« Ответ #2 : Июнь 30, 2006, 14:31 »

Я просмотрел несколько раз QApplication но ближе к пониманию того как это сделать не стал ж) Странно что они не сделали в QApplication-е статический метод - проверить на наличие QApplication-а, или ещё как.. ж(

p.s. разумеется QApplication::instance() в этом случае не помошник
Записан
Admin
Administrator
Джедай : наставник для всех
*****
Offline Offline

Сообщений: 1988



Просмотр профиля
« Ответ #3 : Июнь 30, 2006, 17:52 »

у меня были такие же проблемы
но кажется каждый раз использовать

qApp и было все окей! независимо откуда dll грузилась
Записан
Страниц: [1]   Вверх
  Печать  
 
Перейти в:  


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