![]() |
Здравствуйте, гость ( Вход | Регистрация )
![]() ![]() |
![]() |
mezmay |
![]()
Сообщение
#1
|
![]() Активный участник ![]() ![]() ![]() Группа: Участник Сообщений: 272 Регистрация: 13.7.2009 Из: Ростов-на-Дону Пользователь №: 904 Спасибо сказали: 16 раз(а) Репутация: ![]() ![]() ![]() |
Сделал свой класс для отображения графиков. В конструкторе происходит открытие файла, и если файл большой, то программа висит целый час, и только потом появляется график, но вылетает ошибка RunTime error. Получается что программа во время открытия файла слишком сильно загружена и не обработывает сообщения наверное... Возникла мысль сделать открытие в другом потоке. Но как дождаться его завершения прямо в конструкторе? (т.е. без использования слота)? или это невозможно? Qt-шная функция wait() и win32 функция WaitForSingleObject() точно так же повесят программу, как и без потока. Что можно сделать?
|
|
|
Litkevich Yuriy |
![]()
Сообщение
#2
|
![]() разработчик РЭА ![]() ![]() ![]() ![]() ![]() ![]() ![]() Группа: Сомодератор Сообщений: 9669 Регистрация: 9.1.2008 Из: Тюмень Пользователь №: 64 Спасибо сказали: 807 раз(а) Репутация: ![]() ![]() ![]() |
|
|
|
ufna |
![]()
Сообщение
#3
|
![]() Активный участник ![]() ![]() ![]() Группа: Участник Сообщений: 362 Регистрация: 24.5.2008 Из: Курган/СПб Пользователь №: 182 Спасибо сказали: 29 раз(а) Репутация: ![]() ![]() ![]() |
ну вообще это можно делать без слота, но и вне конструктора. А вот зачем делать реально в конструкторе - даже с потоком, т.к. суть одна - не ясно
![]() |
|
|
mezmay |
![]()
Сообщение
#4
|
![]() Активный участник ![]() ![]() ![]() Группа: Участник Сообщений: 272 Регистрация: 13.7.2009 Из: Ростов-на-Дону Пользователь №: 904 Спасибо сказали: 16 раз(а) Репутация: ![]() ![]() ![]() |
Понял свою тупость. в конструкторе ждать и правда нет смысла. а вместо слота можно просто вызов обычной функции сделать из потока.
|
|
|
![]() ![]() ![]() |
![]() |
Текстовая версия | Сейчас: 9.12.2023, 18:25 |