crossplatform.ru

Здравствуйте, гость ( Вход | Регистрация )

> QIODevice
gpepsi
  опции профиля:
сообщение 9.8.2011, 19:57
Сообщение #1


Студент
*

Группа: Участник
Сообщений: 73
Регистрация: 31.3.2010
Пользователь №: 1582

Спасибо сказали: 0 раз(а)




Репутация:   0  


Создавал ли кто свои потоковые устройства ?
Есть несколько вопросов.

1. Есть методы read и write, которые возвращают число байт, которые удалось получить.
Но если это, например, сокет, то данные будут фрагментированные и read может вернуть количество байт, огранниченное буфером.
Поэтому нужно будет читать пока не вычитали все - или кидать исключение, если что-то не получилось.
Есть ли в QT обертки, которые читают пока читается, в зависимости от размера запрошенных данных ?

2. Пытаюсь создать серийный порт на основе QIODevice. Определил readData и writeData.
в open открыл порт и выставил нужные параметры. Задал OpenMode == ReadWrite.
Достаточно ли этого ?

Что еще нужно определить, чтоб работало корректно. И вообще какие методы настоятельно рекомендуется переопределить.
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение
 
Начать новую тему
Ответов
kuzulis
  опции профиля:
сообщение 18.8.2011, 10:44
Сообщение #2


Активный участник
***

Группа: Участник
Сообщений: 393
Регистрация: 29.6.2009
Пользователь №: 862

Спасибо сказали: 36 раз(а)




Репутация:   7  


Ага, понятно. Огромное спасибо! :)

И вот теперь, еще просьба: собрать и протестить версию библиотеки 2.0:

https://gitorious.org/qserialdevice/qserial...ive-tarball/2.0

Там я добавил поддержку WinCE, но собирать пробовал в обычной винде, вроде собиралось.

Но там, исходя из твоей последней информации, не исправлено еще:
Цитата
З.Ы. Если один момент - на WIN CE при открытии файла имя надо давать не \\.\COM1, а COM1:
Знаю что первый вариант в обычной винде предпочтительнее, тем не менее если его использовать на WIN CE, то файл не открывается вообще

З.Ы.Ы функция CancelIO на WINCE вроде как отсутствует, во всяком случае у меня ругался компилятор на ее отсутствие


Проверь, плз. и исправь что надо (там, дефайны поставь где надо и т.п.), и отпишись обязательно о том что ты сделал, что получилось и т.п,
даже можешь запостить diff или измененные файлы сюда в ветку.

Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение

Сообщений в этой теме


Быстрый ответОтветить в данную темуНачать новую тему
Теги
Нет тегов для показа


4 чел. читают эту тему (гостей: 4, скрытых пользователей: 0)
Пользователей: 0




RSS Текстовая версия Сейчас: 28.11.2024, 19:50