Полностью упаковать графическое приложение в DLL |
Здравствуйте, гость ( Вход | Регистрация )
Полностью упаковать графическое приложение в DLL |
__UNIX_hokum |
15.7.2009, 8:34
Сообщение
#1
|
Новичок Группа: Новичок Сообщений: 5 Регистрация: 4.5.2009 Пользователь №: 727 Спасибо сказали: 0 раз(а) Репутация: 0 |
Доброго времени суток. Пытаюсь сделать следующее: в DLL находится класс, наследованный от QThread, в методе run которого на стеке создаётся экземпляр QApplication и какой-нить QWidget. Из DLL наружу отдаётся экземпляр этого класса, с которым можно работать через интерфейс программе, "не знакомой" с Qt. Всё это безобразие компилируется, запускается, и не работает со следующим предупреждением: "QApplication was not created in the main() thread".
Интернеты сказали следующее: "If you need to marshall widget creation across threads (e.g. thread B wants thread A to create a widget, and must wait for the widget), then you want to make sure to run QEventLoops while you're waiting. That'll make sure any cross-thread QEvents get processed" (http://www.qtforum.org/article/22708/qappl...n-instance.html). Но что-то я не соображу, куда и как этот совет приделать. Если у кого будут соображения по этому поводу -- рад услышать. |
|
|
Rocky |
15.9.2009, 18:14
Сообщение
#2
|
Старейший участник Группа: Участник Сообщений: 530 Регистрация: 22.12.2008 Из: Санкт-Петербург Пользователь №: 463 Спасибо сказали: 22 раз(а) Репутация: 7 |
А версия QT какая?
У меня 4.5. Есть главное приложене (ехе). Есть 3-4 dll, в которых содержатся QT-шные виджеты, классы и т.д. Все в общем-то работает и взаимодействует нормально... А вот когда была версия 4.3 - там было все тож самое. Даже QMessageBox вызывал полный пип... |
|
|
Текстовая версия | Сейчас: 15.1.2025, 17:38 |