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

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

Страниц: 1 ... 81 82 [83] 84 85 ... 88   Вниз
  Печать  
Автор Тема: Создаю библиотеку для работы с последовательными портами. [УШЕЛ ИЗ ПРОЕКТА].  (Прочитано 785090 раз)
kit
Гость
« Ответ #1230 : Март 13, 2015, 09:58 »

Доброго времени суток, "kit"!
Подробнее отписал в личку. Повторюсь: QSerialPort нормально статически собирается для Qt 5.4.0.
Кажется бывали ошибки при использовании системного "cmd.exe" вместо родного "Qt 5.4 for Desktop (MinGW 4.9 32 bit)", вроде для второго уже настроены все переменные окружения.
Может вы запускаетесь не из каталога "qtserialport-build", может еще что...

Большое спасибо, Pavel_!
Ваша статическая сборка QtSerialPort  у меня сразу заработала  Улыбающийся

Что же касается ошибок, то с ними осталось неясно.
Поясню некоторые детали:
1 - Да, мой Qt собирался из исходников и "Qt 5.4 for Desktop (MinGW 4.9 32 bit)" в нем нет.
Мне это жить не мешало, даже статическую сборку делали через cmd.exe. Переменные окружения
действительно приходится прописывать самому:
Код:
C:\Qt\Qt5.4.0\MyProjects\qtserialport\serialport-build>PATH = "C:\Qt\Qt5.4.0\5.4\mingw491_32\bin";"C:\Qt\Qt5.4.0\Tools\mingw491_32\bin"
2 - Проблема сборки модуля у меня так и осталась непознанной. Вроде все делаю по вашей инструкции, да
по указаниям https://qt-project.org/wiki/QtSerialPort_Russian, а что-то не фурычит.
Стабильно жалуется на отстутствующий

Оставляем задачу до лучших времен. Когда в следующий раз буду устанавливать свежий Qt на другую машину,
попробую разобраться.
Пока для статики буду использовать ваш собранный QtSerialPort.
Записан
kit
Гость
« Ответ #1231 : Март 13, 2015, 10:01 »

Стабильно жалуется на отстутствующий
Стабильно жалуется на отсутствующий '.obj/release/qserialport.o' ...

Pavel_, еще раз спасибо за поддержку!
Записан
Phoenix
Гость
« Ответ #1232 : Июнь 23, 2015, 14:27 »

Добрый день. Kuzulis, расскажи пожалуйста подробнее про патчи: "Add direct mode", "Do not use the queued connection to handle an I/O events on Windows"

Это будет работать только в Qt5, или в ветку qt4-dev тоже планируется добавить? В каких случаях работает direct mode? Этот режим как-то нужно активировать? Последний патч работает только в windows?
« Последнее редактирование: Июнь 23, 2015, 14:29 от Phoenix » Записан
kuzulis
Джедай : наставник для всех
*******
Offline Offline

Сообщений: 2812


Просмотр профиля
« Ответ #1233 : Июнь 23, 2015, 16:58 »

Цитировать
"Add direct mode",
В каких случаях работает direct mode? Этот режим как-то нужно активировать?
Это не планируется вообще, т.к. это хз вообще что такое и не нужно (ИМХО).

Цитировать
"Do not use the queued connection to handle an I/O events on Windows"
Это только для Windows, что-то вроде выпрямления кривого кода Улыбающийся.

Цитировать
Это будет работать только в Qt5, или в ветку qt4-dev тоже планируется добавить?
Только Qt5.
Записан

ArchLinux x86_64 / Win10 64 bit
poru
Самовар
**
Offline Offline

Сообщений: 103


Просмотр профиля
« Ответ #1234 : Август 21, 2015, 09:39 »

Qt 5.5 UTF-8 Window7
Как получить читабельный вывод?

Код
C++ (Qt)
QSerialPort serialPort(QString(""));
   if (!serialPort.open(QSerialPort::ReadWrite))
       qDebug() << serialPort.error() << serialPort.errorString();
 

Вывод:
11 "\u0421\u0438\u0441\u0442\u0435\u043C\u0435 \u043D\u0435 \u0443\u0434\u0430\u0435\u0442\u0441\u044F \u043D\u0430\u0439\u0442\u0438 \u0443\u043A\u0430\u0437\u0430\u043D\u043D\u044B\u0439 \u043F\u0443\u0442\u044C."
Записан
Пантер
Administrator
Джедай : наставник для всех
*****
Offline Offline

Сообщений: 5876


Жаждущий знаний


Просмотр профиля WWW
« Ответ #1235 : Август 21, 2015, 09:42 »

Ты напоролся на баг Кьюта 5.5.0. Жди фиксовой версии или выводи через qPrintable (вроде, так должно норм быть).
Записан

1. Qt - Qt Development Frameworks; QT - QuickTime
2. Не используйте в исходниках символы кириллицы!!!
3. Пользуйтесь тегом code при оформлении сообщений.
poru
Самовар
**
Offline Offline

Сообщений: 103


Просмотр профиля
« Ответ #1236 : Август 21, 2015, 10:11 »

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

PS
Стало немного понятнее. В случае с пустой строкой - вывод на английском, в случае с несуществующим портом - вывод на русском и тут проявляется баг. Тогда вопрос другой: почему сообщения "смикшировались" на разных языках?
« Последнее редактирование: Август 21, 2015, 10:56 от poru » Записан
kuzulis
Джедай : наставник для всех
*******
Offline Offline

Сообщений: 2812


Просмотр профиля
« Ответ #1237 : Август 21, 2015, 11:03 »

Цитировать
Тогда вопрос другой: почему сообщения "смикшировались" на разных языках?

Потому что там есть два типа сообщений об ошибках:

* Системные - извлекаются из кода системной ошибки. В зависимости от локали, в твоем случае на русском, т.к. винда русская.

* Кастомные - для которых нет системного кода, просто обернуты в tr().  Они будут на английском, пока ты не сделаешь qtserialport.ts
   и не заюзаешь его. Как только заюзаешь (переведешь) - они будут на русском.

Но, как уже сказали выше - это эпичный баг в Qt 5.5, по поводу которого было эпичное бурление в тырнетах (на LOR и в Qt-шном баг-трекере) .
Вроде-как баг уже пофиксили в 5.5.1... хотя не уверен.
Записан

ArchLinux x86_64 / Win10 64 bit
poru
Самовар
**
Offline Offline

Сообщений: 103


Просмотр профиля
« Ответ #1238 : Август 21, 2015, 11:56 »

Приравняй в исходнике ERROR_FILE_NOT_FOUND и ERROR_PATH_NOT_FOUND - для порта в нашем случае это одно и тоже.
Проблема исчезнет.
« Последнее редактирование: Август 21, 2015, 11:58 от poru » Записан
kuzulis
Джедай : наставник для всех
*******
Offline Offline

Сообщений: 2812


Просмотр профиля
« Ответ #1239 : Август 21, 2015, 12:08 »

А ERROR_PATH_NOT_FOUND в каких случаях появляется?

UPD: Сам себе отвечу - при пустой строке в имени порта Улыбающийся

Запилил патч: https://codereview.qt-project.org/#/c/123934/

Цитировать
Они будут на английском, пока ты не сделаешь qtserialport.ts
   и не заюзаешь его. Как только заюзаешь (переведешь) - они будут на русском.

Запилил патч с переводами: https://codereview.qt-project.org/#/c/123931/
« Последнее редактирование: Август 21, 2015, 12:21 от kuzulis » Записан

ArchLinux x86_64 / Win10 64 bit
poru
Самовар
**
Offline Offline

Сообщений: 103


Просмотр профиля
« Ответ #1240 : Август 21, 2015, 14:39 »

Qt 5.5 Windows7 (последнее обновление сегодня)

Код
C++ (Qt)
   QSerialPort serialPort("com1");
   qDebug() << serialPort.open(QSerialPort::ReadWrite);
   qDebug() << serialPort.setBaudRate(15);
 

Вывод:
true
true

Раньше было иначе. Не обращали внимания?
« Последнее редактирование: Август 21, 2015, 14:41 от poru » Записан
kuzulis
Джедай : наставник для всех
*******
Offline Offline

Сообщений: 2812


Просмотр профиля
« Ответ #1241 : Август 21, 2015, 15:10 »

Цитировать
Раньше было иначе. Не обращали внимания?

Да не.. там ничего такого не менялось.. Если смущает что оно устанавливает 15 бод - то значит так оно и есть.
Записан

ArchLinux x86_64 / Win10 64 bit
Bepec
Гость
« Ответ #1242 : Август 21, 2015, 19:24 »

Так то baudRate может быть любым, если устройство поддерживает. А чаще всего используется одна из стандартных скоростей.
Записан
poru
Самовар
**
Offline Offline

Сообщений: 103


Просмотр профиля
« Ответ #1243 : Август 24, 2015, 16:17 »

Qt 5.5.0 Window7

Код
C++ (Qt)
   QSerialPort serialPort("COM1");
   qDebug() << serialPort.open(QSerialPort::ReadWrite);
   qDebug() << serialPort.clear();
   qDebug() << serialPort.error();
   qDebug() << serialPort.errorString();
 

Код ошибки 10, а текст ошибки при этом: Параметр задан неверно.
Ошибок быть не должно. Да если и была бы ошибка то текст ошибки не соответствует ее коду.
Где-то бага...
Записан
kuzulis
Джедай : наставник для всех
*******
Offline Offline

Сообщений: 2812


Просмотр профиля
« Ответ #1244 : Август 24, 2015, 17:53 »

Ошибка после clear() ?
Записан

ArchLinux x86_64 / Win10 64 bit
Страниц: 1 ... 81 82 [83] 84 85 ... 88   Вверх
  Печать  
 
Перейти в:  


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