Russian Qt Forum
Май 03, 2024, 11:58 *
Добро пожаловать, Гость. Пожалуйста, войдите или зарегистрируйтесь.
Вам не пришло письмо с кодом активации?

Войти
 
  Начало   Форум  WIKI (Вики)FAQ Помощь Поиск Войти Регистрация  

Страниц: [1]   Вниз
  Печать  
Автор Тема: Threading  (Прочитано 11106 раз)
Vilgeforce
Гость
« : Февраль 07, 2005, 14:44 »

Люди! Есть такой вопрос: можно ли в проге, Qt использующей, вызывать CreateThread и прочие функции Win API для работы с нитями? Глюков при вызове этих функций не будет?
Записан
Admin
Administrator
Джедай : наставник для всех
*****
Offline Offline

Сообщений: 1988



Просмотр профиля
« Ответ #1 : Февраль 07, 2005, 14:53 »

можно
глюков быть не должно

только зачем это надо
есть же QThread
Записан
Vilgeforce
Гость
« Ответ #2 : Февраль 07, 2005, 16:53 »

Ну, не использую QThread, потому как у меня класс есть, который должен работать и без Qt.

Ситуация у меня странная: есь класс для работы с COM-портом. В нем создается отдельная нитка для реализации CallBack функции, которая вызывается при получении портом данных. Вот с поюзанием такой штуки пишу, короче, терминалку. Глюк в том, что при выводе принятых символов в QTextEdit, прога может с исключением вылететь. Если символы в QTextEdit не выводить - все работает. И все работает если нитей своих не создавать.

Что глючит - не ясно. Я вот и думаю, что как-то не так Qt может с нитями работать.
Записан
Sergeich
Гость
« Ответ #3 : Февраль 07, 2005, 19:32 »

Если ты пытаешься использовать методы QTextEdit не из главной( событийной ) нитки все может грохнуться. Если ты хочешь добавить какой-нить текст в QTextEdit из не главной нити тебе придется определить свое событие, передать его в главную нить через QApplication::postEvent ( QObject * receiver, QEvent * event ) и дописать к QTextEdit'у обработку этого события.
  Cм. Qt 3 Programming Guide, 17.2
Записан
Vilgeforce
Гость
« Ответ #4 : Февраль 08, 2005, 10:34 »

Ну, тогда теперь все ясно :-) Странно, что в Qt 3 Programming Guide в начальных главах про это ни слова.

А я, блин, неделю на поиск глюков потратил и еще 4 дня - на переписывание класса для порта :-) Теперь, надеюсь, разберусь.
Записан
Racheengel
Джедай : наставник для всех
*******
Offline Offline

Сообщений: 2679


Я работал с дискетам 5.25 :(


Просмотр профиля
« Ответ #5 : Февраль 09, 2005, 16:22 »

сам пишу проги под СОМ-порт. Раньше юзал событийный класс, но теперь решил от него отказаться. Слишком много геморроя. Последовательные алгоритмы ИМХО понадежнее.
Записан

What is the 11 in the C++11? It’s the number of feet they glued to C++ trying to obtain a better octopus.

COVID не волк, в лес не уйдёт
Racheengel
Джедай : наставник для всех
*******
Offline Offline

Сообщений: 2679


Я работал с дискетам 5.25 :(


Просмотр профиля
« Ответ #6 : Февраль 11, 2005, 12:35 »

Цитата: "Vilgeforce"
Ну, тогда теперь все ясно :-) Странно, что в Qt 3 Programming Guide в начальных главах про это ни слова.

А я, блин, неделю на поиск глюков потратил и еще 4 дня - на переписывание класса для порта :-) Теперь, надеюсь, разберусь.


А ты бы не мног мне его прислать, этот свой класс?
на racheengel@ukrtop.com, плиз.
Записан

What is the 11 in the C++11? It’s the number of feet they glued to C++ trying to obtain a better octopus.

COVID не волк, в лес не уйдёт
joktar
Гость
« Ответ #7 : Февраль 14, 2005, 02:42 »

А чем не понравился для работы с com-портом  QExtSerialPort?
(берется например на Qt Inside(http://hardclub.donntu.edu.ua/projects/qt/components/qextsp.htm))
Записан
Racheengel
Джедай : наставник для всех
*******
Offline Offline

Сообщений: 2679


Я работал с дискетам 5.25 :(


Просмотр профиля
« Ответ #8 : Февраль 14, 2005, 11:21 »

Улыбающийся дык на Qt Inside я-то его и выложил Улыбающийся
он хорош, работает нормально. Не в этом дело. Интересуют способы его ПРАВИЛЬНОГО использования.
Записан

What is the 11 in the C++11? It’s the number of feet they glued to C++ trying to obtain a better octopus.

COVID не волк, в лес не уйдёт
Страниц: [1]   Вверх
  Печать  
 
Перейти в:  


Страница сгенерирована за 0.043 секунд. Запросов: 22.