Название: Сообщение из потока Отправлено: bsf от Январь 24, 2013, 15:40 Ребят, сразу скажу я новичок в области многопоточности и Qt. Есть простая задача, а решить не получается до конца. Пишу сокращённый участок кода классов.
Есть Import - класс, в котором решается определённая логика при работе с БД и выдаются постоянные сообщения через сигнал message. Код
Создаётся этот класс в потоке ImportThread: Код
Далее в GUI стартует поток, всё как положено Вызываю runConv....выполняются в БД запросы и сыплются message на форму. Но в определённый моменты эти message перестают приходить, но при этом вся работа в БД завершается корректно. Общее количество циклов в функции loadChild - около 2000. Количество присланных message около 1300. Почему так происходит? Ткните носом и скажите, что не так! Спасибо! Название: Re: Сообщение из потока Отправлено: Bepec от Январь 24, 2013, 15:50 Я б посоветовал посмотреть выхлоп компилятора. А так же его предупреждения, если они есть.
PS код нормальный на первый взгляд, особо глубоко не всматривался. Название: Re: Сообщение из потока Отправлено: bsf от Январь 24, 2013, 15:53 Warning-ов нет, в консоль ничего лишнего не сыпется... Компилятор mingw, Qt 4.6.
P.S. пробовал писать не только на форму, но и в консоль, файл...такая же байда... Что то с потоком не то, не могу понять что! Название: Re: Сообщение из потока Отправлено: Bepec от Январь 24, 2013, 15:54 Минимально компиляберный проект в студию и я тогда посмотрю сегодня. (через часа 2 где то)
Название: Re: Сообщение из потока Отправлено: bsf от Январь 24, 2013, 15:57 Минимально компиляберный проект в студию и я тогда посмотрю сегодня. (через часа 2 где то) Bepec, спасибо за Ваше внимание. Но мне примерно столько же времени нужно, чтобы привести его (код) к такому же виду... Там ещё БД есть, которую так просто не отцепишь...со значениями!Название: Re: Сообщение из потока Отправлено: rudireg от Февраль 20, 2013, 11:35 Может это
Цитировать connect (this, SIGNAL(convSignal(const QString &)), import, SIGNAL(conv(const QString &))); надо заменить на это? Цитировать connect (this, SIGNAL(convSignal(const QString &)), import, SLOT(conv(const QString &))); Название: Re: Сообщение из потока Отправлено: Bepec от Февраль 20, 2013, 12:06 Как думаете, у меня велосипед не едет. Мб заменить деталь №5 в его конструкции на деталь №12 из дополнительного ремкомплекта?
PS вы уже потратили больше 2 часов на непонятную фигню. |