![]() |
Здравствуйте, гость ( Вход | Регистрация )
![]() ![]() |
![]() |
kuzulis |
![]()
Сообщение
#321
|
Активный участник ![]() ![]() ![]() Группа: Участник Сообщений: 393 Регистрация: 29.6.2009 Пользователь №: 862 Спасибо сказали: 36 раз(а) Репутация: ![]() ![]() ![]() |
|
|
|
Гость_Гость_* |
![]()
Сообщение
#322
|
Гости ![]() |
kuzulis, спасибо за ответ. А чем плохим может обернуться для Event Loop'a такой фриз? Для примера. Есть однопоточное приложение, которое использует QSerialPort(QSerialDevice) в драйвере кассового аппарата. Используется waitForReadyRead() для реализации таймаутов перед приемом ответов от кассы. Вы бы не соватовали так делать, а использоваться QTimer? И если нет, то почему?
|
|
|
kuzulis |
![]()
Сообщение
#323
|
Активный участник ![]() ![]() ![]() Группа: Участник Сообщений: 393 Регистрация: 29.6.2009 Пользователь №: 862 Спасибо сказали: 36 раз(а) Репутация: ![]() ![]() ![]() |
kuzulis, спасибо за ответ. А чем плохим может обернуться для Event Loop'a такой фриз? Для примера. Есть однопоточное приложение, которое использует QSerialPort(QSerialDevice) в драйвере кассового аппарата. Используется waitForReadyRead() для реализации таймаутов перед приемом ответов от кассы. Вы бы не соватовали так делать, а использоваться QTimer? И если нет, то почему? Потому, что от этого фризится GUI, и использовать QSerialDevice с waitForReadyRead() нужно в другом потоке, чтобы этого не происходило. |
|
|
Гость_Гость_* |
![]()
Сообщение
#324
|
Гости ![]() |
kuzulis, и в очередной раз спасибо за ответ. Как раз хотел спросить про потоки, потому что у меня по протоколу работы с кассой самый большой таймаут ожидания ответа = 10 секунд, но ответ, как правило, приходит за доли секунды. Тоесть при использовании QTimer мне пришлось бы каждый раз ждать 10 секунд, либо ломать протокол, что тоже не выход. Но если в Qt на каждый поток свой EventLoop, то да, waitForReadyRead() можно без проблем использовать.
|
|
|
romeodka |
![]()
Сообщение
#325
|
Новичок Группа: Новичок Сообщений: 4 Регистрация: 15.5.2012 Пользователь №: 3381 Спасибо сказали: 1 раз(а) Репутация: ![]() ![]() ![]() |
Доброе время суток.
Подскажите пожалуйста в чем может быть дело. Поставил себе qt-sdk-win-opensource-2010.05 и скачал отсюда QSerialDevice. Начинаю компилировать библиотеку, все идет нормально и потом вылазит окно "Не удалось найти программу, пожалуйста, укажите её" и предлагает указать какую то программу. И что надо указать? и так и должно быть? и вообще что делать? У меня стоит Win Xp Sp2 вот то что в консоли пишет Раскрывающийся текст
|
|
|
kuzulis |
![]()
Сообщение
#326
|
Активный участник ![]() ![]() ![]() Группа: Участник Сообщений: 393 Регистрация: 29.6.2009 Пользователь №: 862 Спасибо сказали: 36 раз(а) Репутация: ![]() ![]() ![]() |
Цитата И что надо указать? и так и должно быть? и вообще что делать? С перва наперво - разобраться что ты делаешь, и жмакать по кнопочкам в QtCreator нужно не бездумно, а сначала узнав их предназначение и внимательно читать подсказки (хинты). Далее, QSerialDevice больше не подерживается, вместо него стартовал новый проект QtSerialPort. Тем более, что ты использовал очень старую версию QSerialDevice. Используй QtSerialPort и не пугайся что там написано, что оно только для Qt5, оно также и для Qt4 работает. |
|
|
gpepsi |
![]()
Сообщение
#327
|
Студент ![]() Группа: Участник Сообщений: 73 Регистрация: 31.3.2010 Пользователь №: 1582 Спасибо сказали: 0 раз(а) Репутация: ![]() ![]() ![]() |
kuzulis, попробовал собрать через командную строку - не варится
валит что-то типа
в debug появилась SerialPortd1.dll, но в релизе ничего нет Сообщение отредактировал gpepsi - 13.6.2012, 11:35 |
|
|
kuzulis |
![]()
Сообщение
#328
|
Активный участник ![]() ![]() ![]() Группа: Участник Сообщений: 393 Регистрация: 29.6.2009 Пользователь №: 862 Спасибо сказали: 36 раз(а) Репутация: ![]() ![]() ![]() |
Цитата qmake serialport.pro CONFIG+=release nmake Цитата валит что-то типа так и должно валить |
|
|
asket |
![]()
Сообщение
#329
|
Студент ![]() Группа: Новичок Сообщений: 15 Регистрация: 18.1.2012 Пользователь №: 3139 Спасибо сказали: 0 раз(а) Репутация: ![]() ![]() ![]() |
kuzulis, я скомпилировал Вашу сборку в каталоге C:\QtSDK\Desktop\Qt\, создав две папки qtserialport и qtserialport-build, в build я вижу src\debug и src\release - там serialport1.dll и libSerialPort1.a, теперь я хочу собрать тестовое приложение, а он ругается на отсутствие <QtAddOnSerialPort/serialportinfo.h>, где он должен быть? Его не автоматом копирует?
|
|
|
kuzulis |
![]()
Сообщение
#330
|
Активный участник ![]() ![]() ![]() Группа: Участник Сообщений: 393 Регистрация: 29.6.2009 Пользователь №: 862 Спасибо сказали: 36 раз(а) Репутация: ![]() ![]() ![]() |
я скомпилировал Вашу сборку в каталоге C:\QtSDK\Desktop\Qt\ Вот не нужно так делать. Собирай где-нить в любом другом месте. <QtAddOnSerialPort/serialportinfo.h>, где он должен быть? Его не автоматом копирует? На ВиКи все подробно описано как надо собирать и устанавливать. Сообщение отредактировал kuzulis - 19.7.2012, 17:59 |
|
|
![]() ![]() ![]() |
![]() |
Текстовая версия | Сейчас: 26.2.2025, 18:53 |