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

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

Страниц: 1 ... 9 10 [11] 12 13 ... 88   Вниз
  Печать  
Автор Тема: Создаю библиотеку для работы с последовательными портами. [УШЕЛ ИЗ ПРОЕКТА].  (Прочитано 785359 раз)
lit-uriy
Джедай : наставник для всех
*******
Offline Offline

Сообщений: 3880


Просмотр профиля WWW
« Ответ #150 : Май 13, 2010, 21:11 »

1) Моя тема на кросплатформе - Git против SVN
2) вот он:
md myrepo
cd myrepo
git svn clone https://myrepo.svn.sourceforge.net/svnroot/myrepo -T trunk -b branches -t tags ./
всё
3) Git-1.7.0.2-preview20100309.exe, другие в этом списке не качай
при установке выбрать:
a) для окончания строки, "всё как есть"
b) для встраивания в проводник "Git bash и Git GUI", вместо "Git-Cheetah"
c) для авторизации - ssh
всё

Записан

Юра.
sne
Гость
« Ответ #151 : Май 14, 2010, 15:40 »

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

Тут ошибочку нашел, случайно: в SerialDeviceWatcherPrivate::setEnabled(bool enable)

        availableNotifier->setEnabled(enable);
        m_enabled = enable;

По умолчанию нотифер не создается и в итоге при уничтожении класса, происходит обращение по нулевому указателю. На сколько свежая у меня версия не знаю, брал с qt-apps.

И еще, если создать объект в одном потоке, а ::open вызвать в другом, QObject выдаст warning, на тему того что parent'ом нельзя указывать объект другого потока.

UPD
Сейчас еще с винды на линуксе в релиз начал компилить, функцию free() почему-то в паре файлов (где она используется) компилятор у меня не нашел (kubuntu 10.04, i386). В Debug все ок было, а так пришлось stdlib.h добавить.
« Последнее редактирование: Май 14, 2010, 16:24 от sne » Записан
kuzulis
Джедай : наставник для всех
*******
Offline Offline

Сообщений: 2812


Просмотр профиля
« Ответ #152 : Май 14, 2010, 17:17 »

Цитировать
Тут ошибочку нашел, случайно
уже давно в SVN исправлено

Цитировать
И еще, если создать объект в одном потоке, а ::open вызвать в другом, QObject выдаст warning, на тему того что parent'ом нельзя указывать объект другого потока.
вот тут хз.. поподробнее бы...

Цитировать
Сейчас еще с винды на линуксе в релиз начал компилить, функцию free() почему-то в паре файлов (где она используется) компилятор у меня не нашел (kubuntu 10.04, i386). В Debug все ок было, а так пришлось stdlib.h добавить.
из SVN возьмите. я там убрал вообще вызовы free и т.п. и заменил их на UDEV-ные ф-ции .. теперь компилятор не ругается, но хз, могут быть утечки.

ЗЫ: из SVN тянуть клиентом! (но не кликать по ссылке на fireforge.net)
ЗЫЗЫ: кстати, fireforge вроде заработал



Записан

ArchLinux x86_64 / Win10 64 bit
kuzulis
Джедай : наставник для всех
*******
Offline Offline

Сообщений: 2812


Просмотр профиля
« Ответ #153 : Май 14, 2010, 17:29 »

Цитировать
1) Моя тема на кросплатформе - Git против SVN
2) вот он:
md myrepo
cd myrepo
git svn clone https://myrepo.svn.sourceforge.net/svnroot/myrepo -T trunk -b branches -t tags ./
всё
3) Git-1.7.0.2-preview20100309.exe, другие в этом списке не качай
при установке выбрать:
a) для окончания строки, "всё как есть"
b) для встраивания в проводник "Git bash и Git GUI", вместо "Git-Cheetah"
c) для авторизации - ssh
всё


такс.. а теперь попорядку, как я понял, нужно:
1. Сначала скачать Git-1.7.0.2-preview20100309.exe (ок, ты про это написал)
2. Потом его установить  (ок, ты про это написал)
3. Потом клонировать проект из удаленного SVN сервера в локальный GIT репозиторий (или как там его)  (ок, ты про это ВРОДЕ написал)
4. Потом из локального GIT добавить проект на удаленный сервак (типа Гиторгиус), так? (тут непонятен момент)

Непонятные моменты:
1. Обязательно ли клонировать SVN и для чего это нужно?
2. Нельзя ли сразу создать новый проект на GIT ?
3. Или клонируют SVN только для того, чтобы, если вдруг кто-то исправил в проекте SVN какую нить багу - то можно было бы автоматом это дело потом добавить и в GIT?
4. Автоматом ли происходит дальнейшая синхронизация сервера с проектом GIT с сервером с проектом на SVN, т.е. без участия "меня" ? (или я чо-то не так понял)


ЗЫ: просьба не пинать, т.к. это в диковинку для меня.
ЗЫЗЫ: lit-uriy , если у тебя имеются твои проекты на GIT (на гиторгиусе) - то дай на них ссылку. Хочу посмотреть пример оформления и т.п. Улыбающийся
Записан

ArchLinux x86_64 / Win10 64 bit
lit-uriy
Джедай : наставник для всех
*******
Offline Offline

Сообщений: 3880


Просмотр профиля WWW
« Ответ #154 : Май 14, 2010, 17:44 »

Про непонятные моменты:
1) Да, просто git-хранилище - это хранилище и оно должно содержать всю историю, как и svn-хранилище.
2) можно, но разве тебе не будет удобнее иметь историю? "А вдруг чё!"
3) и для этого тоже
4) не понял такой формулировки вопроса. Но попробую ответить. Git-хранилище - это только хранилище. Само оно ничего не делает.

про ЗЫЗЫ:
да нечего там оформлять, или я не понял о чём вопрос

про то что понял:
...
4) Сначала сделай локальное хранилище и вытяни историю из SVN'а. потом про гиориус
Записан

Юра.
kuzulis
Джедай : наставник для всех
*******
Offline Offline

Сообщений: 2812


Просмотр профиля
« Ответ #155 : Май 14, 2010, 18:12 »

ok,
А github чем хуже гиториуса?

ЗЫ: Почитал тут на хабре статьи про git - голова идет кругом
Записан

ArchLinux x86_64 / Win10 64 bit
lit-uriy
Джедай : наставник для всех
*******
Offline Offline

Сообщений: 3880


Просмотр профиля WWW
« Ответ #156 : Май 14, 2010, 20:28 »

>>А github чем хуже гиториуса?
о нём мало что знаю. На гиториусе троли сидят - удобно.
Записан

Юра.
sne
Гость
« Ответ #157 : Май 18, 2010, 14:18 »

А можно глупый вопросик задам Улыбающийся ? Зачем перенесли defaultDeviceName в AbstractSerialEnginePrivate::m_defaultDeviceName?
Я QSettings в качестве параметра по умолчанию подсовывал это поле класса.
Записан
kuzulis
Джедай : наставник для всех
*******
Offline Offline

Сообщений: 2812


Просмотр профиля
« Ответ #158 : Май 18, 2010, 18:22 »

Цитировать
А можно глупый вопросик задам  ? Зачем перенесли defaultDeviceName в AbstractSerialEnginePrivate::m_defaultDeviceName?
Я QSettings в качестве параметра по умолчанию подсовывал это поле класса.

Незачем ее выносить на всеобщее обозрение т.к она используется только  в конструкторе Engine Private при "автоматичечком" определениии и больше не нужна никому  Улыбающийся
Записан

ArchLinux x86_64 / Win10 64 bit
sne
Гость
« Ответ #159 : Май 18, 2010, 20:19 »

Очень жаль, т.к. пользоваться этим параметром для определения порта по-умолчанию, очень удобно.
Код:
    m_exch = new ExchangerPolycrystal(this);
    m_exch->setPortName(m_settings->value("port/portName", AbstractSerialEnginePrivate::m_defaultDeviceName).toString());

PS
Смена лицензии на LGPL не планируется Улыбающийся ?
Записан
kuzulis
Джедай : наставник для всех
*******
Offline Offline

Сообщений: 2812


Просмотр профиля
« Ответ #160 : Май 19, 2010, 07:21 »

Цитировать
Очень жаль, т.к. пользоваться этим параметром для определения порта по-умолчанию, очень удобно.
а чем QString AbstractSerial::deviceName() const не устраивает?

Цитировать
Смена лицензии на LGPL не планируется Улыбающийся ?
Может быть, только после того как для MacOSX будет реализован функционал SerialDeviceWatcher и SerialDeviceInfo.

Также планирется переезд на GIT Улыбающийся
Записан

ArchLinux x86_64 / Win10 64 bit
sne
Гость
« Ответ #161 : Май 19, 2010, 10:17 »

Цитировать
Очень жаль, т.к. пользоваться этим параметром для определения порта по-умолчанию, очень удобно.
а чем QString AbstractSerial::deviceName() const не устраивает?

Он не статический.
Чтение/запись в порт у меня происходит не в головном потоке. При чтении настроек экземпляр класса AbstractSerial еще не создан.
А если создать AbstractSerial в основном потоке, а открытие порта в рабочем, Qt выдает предупреждение, о том что родитель из другого потока не может быть назначен создаваемому классу, в функции "NativeSerialEngine::setReadNotificationEnabled" вот на этой строке:

Код:
d->readNotifier = new WinSerialNotifier(d->hd, WinSerialNotifier::Read, this);

что в Linux, что в Windows.
Записан
MrLink
Гость
« Ответ #162 : Май 20, 2010, 14:59 »

Офтоп: Хочу выразить благодарность автору библиотеки. Большое спасибо!
Правда из-за проблем со старой версией udev пришлось немножко подправить.
Сам тоже писал разные классы для работы из Win и из Linux, но как-то руки не доходили оформить в приличный вид.
Записан
sne
Гость
« Ответ #163 : Май 25, 2010, 14:19 »

В nativeClose не хватает в конце:

Код:
if (closeResult)
    this->m_isOpen = false;
Записан
kuzulis
Джедай : наставник для всех
*******
Offline Offline

Сообщений: 2812


Просмотр профиля
« Ответ #164 : Май 25, 2010, 14:59 »

Цитировать
В nativeClose не хватает в конце:
давно это есть. см. SVN
Записан

ArchLinux x86_64 / Win10 64 bit
Страниц: 1 ... 9 10 [11] 12 13 ... 88   Вверх
  Печать  
 
Перейти в:  


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