архив, размер 0

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

Модератор: motyara

Ответить
Аватара пользователя
Alex
Сообщения: 649
Зарегистрирован: Чт окт 18, 2007 6:19 pm
Контактная информация:

архив, размер 0

Сообщение Alex »

архивируем в тек. панель. Получается архив, rar, размер 0. т.е. UC не перечитывает размер этого rar.
Аватара пользователя
Alex
Сообщения: 649
Зарегистрирован: Чт окт 18, 2007 6:19 pm
Контактная информация:

Re: архив, размер 0

Сообщение Alex »

"получается" с 4Мб файлом (не всегда). С маленьким не получ., размер виден
Аватара пользователя
Max Diesel
Автор программы
Сообщения: 3431
Зарегистрирован: Пт окт 12, 2007 3:26 pm
Контактная информация:

Сообщение Max Diesel »

К сожалению пока что не удается спровоцировать проявление такой проблемы ни на маленьких, ни на больших файлах... во всяком случае при использовании внешнего архиватора программа не может произвести обновление панели по окончании процесса упаковки, так как не следит за фактом завершения работы архиватора. В данном случае обновление панели должно происходить при обретении программой фокуса после закрытия окна архиватора, если же перечитывание каталога при этом попадает как раз в момент когда размер файла еще равен нулю, значит такова уж судьба такого файла - быть с нулевым размером до обновления панели...
DragonMX
Охотник за багами
Сообщения: 19
Зарегистрирован: Пт окт 30, 2009 1:09 am

Re: архив, размер 0

Сообщение DragonMX »

Max Diesel писал(а):если же перечитывание каталога при этом попадает как раз в момент когда размер файла еще равен нулю, значит такова уж судьба такого файла - быть с нулевым размером до обновления панели...
Я не в курсе, какая техника используется при обновлении содержимого каталога, но есть средства, которые позволяют оперативно узнавать об изменениях в каталоге: FindFirstChangeNotification/FindNextChangeNotification или ReadDirectoryChangesW. Поставить слежку для отображенных левого и правого таба, поставить минимальный временной интервал между обновлениями и заставить таб гарантированно обновляться после последнего изменения - на панелях UC всегда будет актуальная информация. Правда, такое отслеживание может сбивать выделение файлов и делать прочие гадости, если не следить за этим, но, мне кажется, Вы этот вопрос уже решали. Допускаю, что сейчас в UC и так уже все работает по этой схеме, но есть определенные проблемы, из-за которых иногда не обновляются некоторые файлы - сам я от начала до конца такой механизм не собирал, поэтому полной картины не вижу, но предполагаю, что можно сделать полноценное автообновление, которое не мешает работать.
Аватара пользователя
Max Diesel
Автор программы
Сообщения: 3431
Зарегистрирован: Пт окт 12, 2007 3:26 pm
Контактная информация:

Сообщение Max Diesel »

Слежение за обновлением каталога конечно же уже используется. При потере программой фокуса (при переходе на другую программу) слежение отключается, а при обретении фокуса производится перечитывание панели и включается слежение. Соответственно если изменение каталога произошло после прочтения, но до включения слежения, изменение не будет учтено.
DragonMX
Охотник за багами
Сообщения: 19
Зарегистрирован: Пт окт 30, 2009 1:09 am

Re: архив, размер 0

Сообщение DragonMX »

Max Diesel писал(а):Соответственно если изменение каталога произошло после прочтения, но до включения слежения, изменение не будет учтено.
Где-то здесь есть небольшой изъянчик, так как F2 иногда приходится нажимать. Я могу привести в пример самый частый случай у меня, когда пропускается изменение в файловой системе - я себе написал тулзу, которая переименовывает файл по переданному параметру (добавляет дату и время в конец имени), на панель UC я вывел кнопку для этой тулзы и передаю имя файла под курсором - программа делает свое дело, файл переименовывается, но UC это замечает через раз, иногда надо тыкнуть F2, чтобы список файлов обновился. Да, здесь дело в каких-то дельтах - где-то чуть-чуть не успевается, но такая ситуация возможна. Мне это в работе никак не мешает, я рассказал это лишь для примера.
Аватара пользователя
Alex
Сообщения: 649
Зарегистрирован: Чт окт 18, 2007 6:19 pm
Контактная информация:

Re: архив, размер 0

Сообщение Alex »

M.D.
по поводу winRar. почему UC не видит, что файл стал <>0? Изменение-то происходит (в размере).
если же перечитывание каталога при этом попадает как раз в момент когда размер файла еще равен нулю
то все равно должен ловить. После этого файл-то обновляется
Ответить