![]() |
Здравствуйте, гость ( Вход | Регистрация )
![]() |
silart |
![]()
Сообщение
#1
|
Студент ![]() Группа: Новичок Сообщений: 15 Регистрация: 31.3.2008 Пользователь №: 138 Спасибо сказали: 0 раз(а) Репутация: ![]() ![]() ![]() |
Кто-нибудь пробовал создать на Qt такую Dll, чтобы внутри нее создавались виджеты?
Можно создать на Qt просто динамическую библиотеку, но в ней нельзя создавать виджеты, потому что объект QApplication не создается. (При обращении к графическим функциям вылазит страшное сообщение, что QPaintDevice был создан до QApplication) Нужен ли он вообще для модальных окон? Если нужен, как его создать, он ведь не умеет конструктора по умолчанию? Вот пример dll, что сгенерировал мастер: CODE class LIBRARY_EXPORT Library
{ public: Library(); ~Library(); void CreateReport(QSqlDatabase db, const QString& path, const ParameterList& params, QWidget* parent = 0); void MessageBox(const QString& title, const QString& msg, QWidget* parent = 0); private: }; |
|
|
![]() |
kwisp |
![]()
Сообщение
#2
|
![]() астарожна ынтжинэр ![]() ![]() ![]() ![]() ![]() Группа: Участник Сообщений: 1404 Регистрация: 26.11.2008 Из: ТаганрогРодинаЧехова Пользователь №: 435 Спасибо сказали: 113 раз(а) Репутация: ![]() ![]() ![]() |
з.ы. только если конечно мы можем указать path не глобально а исключительно для программы. Не совсем правда соображу как это сделать. в винде можно в батнике прописать свой PATH(с помощью set) и потом запустить программу PATH прописанная таким образом будет действительна только для сеанса батника и не будетп ортить глобальную PATH для всех прог и винды. естественно прогу запускать через батник что-то типа =======файл toStart.cmd===== @set PATH=пишем что надо для запуска проги имя запускаемой программы ======================= теперь прога запустится в нужном окружении Сообщение отредактировал kwisp - 17.5.2009, 13:55 |
|
|
Гость_hmmm_* |
![]()
Сообщение
#3
|
Гости ![]() |
Этот вариант будет пригоден скорее уже для реализованного приложения нежели для процесса разработки.. ведь надо как-то отлаживать программу и при этом не кидать каждый раз dll-ки в debug.. самое печальное в некоторых книгах например Хортона по програмиированию в VSC++ 2008 указана такая проблема и они как раз и переносят файлик тупо в debug. Странное на мой взгляд решение.. Наверное буду решать этот вопрос динамическим подключением...
Кстати возможно я иду несколько не тем путём.. потому что мне в идеале нужна не столько прям сама dll сколько возможность собрать модуль который можно безболезненно подключать к различным проектам + возможность его отлаживать и проч.. тоесть фактически просто некоторый набор cpp и h, ui файлов которые можно подключать к разным проектам. Насколько я понял это решается именно через выделение их в отдельную библиотеку (а в рамках студии помещение их в отдельный проект) и компиляции как библиотеки в моём случае dll. Возможно я что-то путаю или не понимаю, но перелопатил много материалла и на prog.org.ru и здесь и в документации и другое пути пока не нашёл. =(( |
|
|
![]() ![]() ![]() |
![]() |
|
Текстовая версия | Сейчас: 10.4.2025, 6:59 |