Russian Qt Forum

Qt => Общие вопросы => Тема начата: ElderOrb от Июнь 30, 2006, 12:16



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

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


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

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


наверное как то можно узнать в твоей дллке в рамках этого процесса, создан ли уже 1 экземпляр QCoreApplication, Qt же как-то узнает, так вот если создан, то это Qt приложение, если нет то нет.


Название: Проблемы с использованием QApplication внутри dll
Отправлено: ElderOrb от Июнь 30, 2006, 14:31
Я просмотрел несколько раз QApplication но ближе к пониманию того как это сделать не стал ж) Странно что они не сделали в QApplication-е статический метод - проверить на наличие QApplication-а, или ещё как.. ж(

p.s. разумеется QApplication::instance() в этом случае не помошник


Название: Проблемы с использованием QApplication внутри dll
Отправлено: Admin от Июнь 30, 2006, 17:52
у меня были такие же проблемы
но кажется каждый раз использовать

qApp и было все окей! независимо откуда dll грузилась