Здравствуйте, гость ( Вход | Регистрация )
![]() ![]() |
|
SABROG |
26.2.2010, 14:21
Сообщение
#11
|
![]() Профессионал ![]() ![]() ![]() ![]() ![]() Группа: Участник Сообщений: 1207 Регистрация: 8.12.2008 Из: Russia, Moscow Пользователь №: 446 Спасибо сказали: 229 раз(а) Репутация: 34
|
Цитата(AD @ 26.2.2010, 13:27) Link я его ведь формирую как раз в этих строчках! Тогда лучше тебя никто не знает где сейчас стоит указатель. По умолчанию после write() offset = curpos + datalength |
|
|
|
|
AD |
26.2.2010, 14:54
Сообщение
#12
|
|
Профессионал ![]() ![]() ![]() ![]() ![]() Группа: Участник Сообщений: 2003 Регистрация: 4.2.2008 Из: S-Petersburg Пользователь №: 84 Спасибо сказали: 70 раз(а) Репутация: 17
|
Цитата(SABROG @ 26.2.2010, 14:21) Link Тогда лучше тебя никто не знает где сейчас стоит указатель. По умолчанию после write() offset = curpos + datalength Это я понимаю, я не понимаю, почему потом зависает... Сможете помочь? |
|
|
|
|
SABROG |
26.2.2010, 15:32
Сообщение
#13
|
![]() Профессионал ![]() ![]() ![]() ![]() ![]() Группа: Участник Сообщений: 1207 Регистрация: 8.12.2008 Из: Russia, Moscow Пользователь №: 446 Спасибо сказали: 229 раз(а) Репутация: 34
|
Цитата(AD @ 26.2.2010, 14:54) Link Сможете помочь? При наличии материала с которым можно работать. Цитата(AD @ 26.2.2010, 13:27) Link <функция>(_writeHandle.get()); Если функция твоя, то лучше используй boost::weak_ptr. Так ты сможешь проверять жив ли указатель, даже если boost::shared_ptr его уже грохнул. |
|
|
|
|
AD |
26.2.2010, 15:45
Сообщение
#14
|
|
Профессионал ![]() ![]() ![]() ![]() ![]() Группа: Участник Сообщений: 2003 Регистрация: 4.2.2008 Из: S-Petersburg Пользователь №: 84 Спасибо сказали: 70 раз(а) Репутация: 17
|
Цитата(SABROG @ 26.2.2010, 15:32) Link При наличии материала с которым можно работать. Так.... Ну судя по всему мне стоит проверить идентичность моих переходов по файлу библиотеки. Следующий код: был перевед в такой: Т.е. код идентичен или же я напортачил где-то? |
|
|
|
|
SABROG |
26.2.2010, 18:14
Сообщение
#15
|
![]() Профессионал ![]() ![]() ![]() ![]() ![]() Группа: Участник Сообщений: 1207 Регистрация: 8.12.2008 Из: Russia, Moscow Пользователь №: 446 Спасибо сказали: 229 раз(а) Репутация: 34
|
Цитата(AD @ 26.2.2010, 15:45) Link В прошлой версии ты ограничился 32 битным смещением и соответственно максимальным размером файла в 4Гб. Может лучше qint64 поставить? Цитата(AD @ 26.2.2010, 15:45) Link Предположим, что -offset = -20, а shift = 19, тогда смещение будет -1. Я выше писал, что отрицательные значения передавать нельзя. Сообщение отредактировал SABROG - 26.2.2010, 18:15 |
|
|
|
|
AD |
26.2.2010, 18:30
Сообщение
#16
|
|
Профессионал ![]() ![]() ![]() ![]() ![]() Группа: Участник Сообщений: 2003 Регистрация: 4.2.2008 Из: S-Petersburg Пользователь №: 84 Спасибо сказали: 70 раз(а) Репутация: 17
|
Цитата(SABROG @ 26.2.2010, 18:14) Link В прошлой версии ты ограничился 32 битным смещением и соответственно максимальным размером файла в 4Гб. Может лучше qint64 поставить? В какой именно, прости? Цитата(SABROG @ 26.2.2010, 18:14) Link Предположим, что -offset = -20, а shift = 19, тогда смещение будет -1. Я выше писал, что отрицательные значения передавать нельзя. Как сделать правильно? Передавать модуль разности? |
|
|
|
|
SABROG |
26.2.2010, 21:40
Сообщение
#17
|
![]() Профессионал ![]() ![]() ![]() ![]() ![]() Группа: Участник Сообщений: 1207 Регистрация: 8.12.2008 Из: Russia, Moscow Пользователь №: 446 Спасибо сказали: 229 раз(а) Репутация: 34
|
Цитата(AD @ 26.2.2010, 18:30) Link В какой именно, прости? Цитата(AD @ 26.2.2010, 15:45) Link Цитата(AD @ 26.2.2010, 18:30) Link Как сделать правильно? Передавать модуль разности? Я не знаю логику твоей программы. Что содержится в offset, текущее положение курсора в файле? Что в shift, смещение на которое нужно сдвинуться от текущей позиции? Почему offset всегда передается отрицательным? Цитата(AD @ 26.2.2010, 15:45) Link Две идентичные функции, а для одного и того же аргумента значение передается в разном стиле 0 и NULL. Это ты никак со стилем программирования определиться не можешь? Сообщение отредактировал SABROG - 26.2.2010, 21:44 |
|
|
|
|
AD |
26.2.2010, 23:11
Сообщение
#18
|
|
Профессионал ![]() ![]() ![]() ![]() ![]() Группа: Участник Сообщений: 2003 Регистрация: 4.2.2008 Из: S-Petersburg Пользователь №: 84 Спасибо сказали: 70 раз(а) Репутация: 17
|
Цитата(SABROG @ 26.2.2010, 21:40) Link Я не знаю логику твоей программы. Что содержится в offset, текущее положение курсора в файле? Что в shift, смещение на которое нужно сдвинуться от текущей позиции? Почему offset всегда передается отрицательным? Две идентичные функции, а для одного и того же аргумента значение передается в разном стиле 0 и NULL. Это ты никак со стилем программирования определиться не можешь? Нет, конечно. В старой программке сделано через функции винды. Теперь необходимо сделать в Qt-шном варианте. Я то уже определился со стилем. Первое - это старый вариант, второе - новый! |
|
|
|
|
DEADHUNT |
26.2.2010, 23:16
Сообщение
#19
|
|
Активный участник ![]() ![]() ![]() Группа: Участник Сообщений: 430 Регистрация: 15.4.2009 Пользователь №: 686 Спасибо сказали: 26 раз(а) Репутация: 2
|
Цитата(AD @ 26.2.2010, 23:11) Link второе - новый! это почему? вообще лучше nullptr использовать из C++0x. |
|
|
|
|
AD |
26.2.2010, 23:46
Сообщение
#20
|
|
Профессионал ![]() ![]() ![]() ![]() ![]() Группа: Участник Сообщений: 2003 Регистрация: 4.2.2008 Из: S-Petersburg Пользователь №: 84 Спасибо сказали: 70 раз(а) Репутация: 17
|
Цитата(DEADHUNT @ 26.2.2010, 23:16) Link это почему? вообще лучше nullptr использовать из C++0x. Что именно почему? Нельзя, потому что компилятор старый, стандарт еще не введен в законнное действие, а у нас авиация - самая консервативная область! |
|
|
|
![]() ![]() |
|
Текстовая версия | Сейчас: 1.1.2026, 22:27 |