![]() |
Здравствуйте, гость ( Вход | Регистрация )
![]() |
eldar85 |
![]()
Сообщение
#1
|
![]() программист ![]() ![]() ![]() Группа: Участник Сообщений: 283 Регистрация: 2.1.2010 Из: Москва Пользователь №: 1348 Спасибо сказали: 0 раз(а) Репутация: ![]() ![]() ![]() |
пробую написать простенькую многопоточную программку, но она выдает сообщение об ошибке
ASSERT failure in QCoreApplication::sendEvent: "Cannot send events to objects owned by a different thread. Current thread 22fe34. Receiver '' (of type 'QProgressBar') was created in thread 5d70b8", file kernel\qcoreapplication.cpp, line 347 Invalid parameter passed to C runtime function. Invalid parameter passed to C runtime function. ASSERT failure in QCoreApplication::sendEvent: "Cannot send events to objects owned by a different thread. Current thread 22fe28. Receiver '' (of type 'QProgressBar') was created in thread 5d70b8", file kernel\qcoreapplication.cpp, line 347 Invalid parameter passed to C runtime function. Invalid parameter passed to C runtime function. вот пример кода
thread.h
ну и про файл
окно выскакивает с такой ошибкой: this applicatoin has requested the Runtime to terminate it in an unusual way. Please contact the application's support team for more information. правда в книге вот эта строка
выглядела так: но setProgress не существует, похоже она была чем то заменена)) Сообщение отредактировал eldar85 - 12.4.2010, 14:02 |
|
|
![]() |
eldar85 |
![]()
Сообщение
#2
|
![]() программист ![]() ![]() ![]() Группа: Участник Сообщений: 283 Регистрация: 2.1.2010 Из: Москва Пользователь №: 1348 Спасибо сказали: 0 раз(а) Репутация: ![]() ![]() ![]() |
а как можно?)
я вот сделал вот так сейчас
прога то нормально все завершит, то вылетает. и в консоли всегда вот это - QThread: Destroyed while thread is still running если все что делается в потоках должно делаться в функции run(); то как же в нее передать параметры которые я в главном окне получаю, те что введены в текстовое поле??? и вот так тоже вылетает
как же мне тогда соединить slot Start() с кнопки на окне приложения и run()?????? уже даже эти переменные QString q1; QString q2; QStringList list1; QStringList list2; как глобальные переменные и вылетает все равно. что не так??? может как то потоки нужно контралировать?? ставлю ожидание небольшое то не вылетает, но почему то в консоль все в двух экземплярах выводит
"1" "101" "1" "101" "2" "102" "2" "102" "3" "103" "3" "103" "4" "104" "4" "104" "5" "105" "5" "105" "6" "106" "6" "106" "7" "107" "7" "107" "8" "108" "8" "108" "9" "109" "9" "109" "10" "110" "10" "110" "11" "111" "11" "111" "12" "112" "12" "112" "13" "113" "13" "113" "14" "114" "14" "114" зато вот эта хрень пропала из консоли QThread: Destroyed while thread is still running и вообще такое ощущение что все в один поток работает, если я ставлю в функцию nakeFunktion() ожидание в пару секунд, то каждый вывод в консоли как раз и происходит каждые 2 секунды, но потоки же должны работать в одно время или почти в одно и вывод должен происходить быстрее... по моему я не так вызываю потоки... |
|
|
![]() ![]() ![]() |
![]() |
Текстовая версия | Сейчас: 23.6.2024, 4:30 |