Название: Threading Отправлено: Vilgeforce от Февраль 07, 2005, 14:44 Люди! Есть такой вопрос: можно ли в проге, Qt использующей, вызывать CreateThread и прочие функции Win API для работы с нитями? Глюков при вызове этих функций не будет?
Название: Threading Отправлено: Admin от Февраль 07, 2005, 14:53 можно
глюков быть не должно только зачем это надо есть же QThread Название: Threading Отправлено: Vilgeforce от Февраль 07, 2005, 16:53 Ну, не использую QThread, потому как у меня класс есть, который должен работать и без Qt.
Ситуация у меня странная: есь класс для работы с COM-портом. В нем создается отдельная нитка для реализации CallBack функции, которая вызывается при получении портом данных. Вот с поюзанием такой штуки пишу, короче, терминалку. Глюк в том, что при выводе принятых символов в QTextEdit, прога может с исключением вылететь. Если символы в QTextEdit не выводить - все работает. И все работает если нитей своих не создавать. Что глючит - не ясно. Я вот и думаю, что как-то не так Qt может с нитями работать. Название: Threading Отправлено: Sergeich от Февраль 07, 2005, 19:32 Если ты пытаешься использовать методы QTextEdit не из главной( событийной ) нитки все может грохнуться. Если ты хочешь добавить какой-нить текст в QTextEdit из не главной нити тебе придется определить свое событие, передать его в главную нить через QApplication::postEvent ( QObject * receiver, QEvent * event ) и дописать к QTextEdit'у обработку этого события.
Cм. Qt 3 Programming Guide, 17.2 Название: Ясно! Отправлено: Vilgeforce от Февраль 08, 2005, 10:34 Ну, тогда теперь все ясно :-) Странно, что в Qt 3 Programming Guide в начальных главах про это ни слова.
А я, блин, неделю на поиск глюков потратил и еще 4 дня - на переписывание класса для порта :-) Теперь, надеюсь, разберусь. Название: Threading Отправлено: Racheengel от Февраль 09, 2005, 16:22 сам пишу проги под СОМ-порт. Раньше юзал событийный класс, но теперь решил от него отказаться. Слишком много геморроя. Последовательные алгоритмы ИМХО понадежнее.
Название: Re: Ясно! Отправлено: Racheengel от Февраль 11, 2005, 12:35 Цитата: "Vilgeforce" Ну, тогда теперь все ясно :-) Странно, что в Qt 3 Programming Guide в начальных главах про это ни слова. А я, блин, неделю на поиск глюков потратил и еще 4 дня - на переписывание класса для порта :-) Теперь, надеюсь, разберусь. А ты бы не мног мне его прислать, этот свой класс? на racheengel@ukrtop.com, плиз. Название: Threading Отправлено: joktar от Февраль 14, 2005, 02:42 А чем не понравился для работы с com-портом QExtSerialPort?
(берется например на Qt Inside(http://hardclub.donntu.edu.ua/projects/qt/components/qextsp.htm)) Название: Threading Отправлено: Racheengel от Февраль 14, 2005, 11:21 :) дык на Qt Inside я-то его и выложил :)
он хорош, работает нормально. Не в этом дело. Интересуют способы его ПРАВИЛЬНОГО использования. |