архив, размер 0
Модератор: motyara
архив, размер 0
архивируем в тек. панель. Получается архив, rar, размер 0. т.е. UC не перечитывает размер этого rar.
Re: архив, размер 0
"получается" с 4Мб файлом (не всегда). С маленьким не получ., размер виден
- Max Diesel
- Автор программы
- Сообщения: 3431
- Зарегистрирован: Пт окт 12, 2007 3:26 pm
- Контактная информация:
К сожалению пока что не удается спровоцировать проявление такой проблемы ни на маленьких, ни на больших файлах... во всяком случае при использовании внешнего архиватора программа не может произвести обновление панели по окончании процесса упаковки, так как не следит за фактом завершения работы архиватора. В данном случае обновление панели должно происходить при обретении программой фокуса после закрытия окна архиватора, если же перечитывание каталога при этом попадает как раз в момент когда размер файла еще равен нулю, значит такова уж судьба такого файла - быть с нулевым размером до обновления панели...
Re: архив, размер 0
Я не в курсе, какая техника используется при обновлении содержимого каталога, но есть средства, которые позволяют оперативно узнавать об изменениях в каталоге: FindFirstChangeNotification/FindNextChangeNotification или ReadDirectoryChangesW. Поставить слежку для отображенных левого и правого таба, поставить минимальный временной интервал между обновлениями и заставить таб гарантированно обновляться после последнего изменения - на панелях UC всегда будет актуальная информация. Правда, такое отслеживание может сбивать выделение файлов и делать прочие гадости, если не следить за этим, но, мне кажется, Вы этот вопрос уже решали. Допускаю, что сейчас в UC и так уже все работает по этой схеме, но есть определенные проблемы, из-за которых иногда не обновляются некоторые файлы - сам я от начала до конца такой механизм не собирал, поэтому полной картины не вижу, но предполагаю, что можно сделать полноценное автообновление, которое не мешает работать.Max Diesel писал(а):если же перечитывание каталога при этом попадает как раз в момент когда размер файла еще равен нулю, значит такова уж судьба такого файла - быть с нулевым размером до обновления панели...
- Max Diesel
- Автор программы
- Сообщения: 3431
- Зарегистрирован: Пт окт 12, 2007 3:26 pm
- Контактная информация:
Слежение за обновлением каталога конечно же уже используется. При потере программой фокуса (при переходе на другую программу) слежение отключается, а при обретении фокуса производится перечитывание панели и включается слежение. Соответственно если изменение каталога произошло после прочтения, но до включения слежения, изменение не будет учтено.
Re: архив, размер 0
Где-то здесь есть небольшой изъянчик, так как F2 иногда приходится нажимать. Я могу привести в пример самый частый случай у меня, когда пропускается изменение в файловой системе - я себе написал тулзу, которая переименовывает файл по переданному параметру (добавляет дату и время в конец имени), на панель UC я вывел кнопку для этой тулзы и передаю имя файла под курсором - программа делает свое дело, файл переименовывается, но UC это замечает через раз, иногда надо тыкнуть F2, чтобы список файлов обновился. Да, здесь дело в каких-то дельтах - где-то чуть-чуть не успевается, но такая ситуация возможна. Мне это в работе никак не мешает, я рассказал это лишь для примера.Max Diesel писал(а):Соответственно если изменение каталога произошло после прочтения, но до включения слежения, изменение не будет учтено.
Re: архив, размер 0
M.D.
по поводу winRar. почему UC не видит, что файл стал <>0? Изменение-то происходит (в размере).
по поводу winRar. почему UC не видит, что файл стал <>0? Изменение-то происходит (в размере).
то все равно должен ловить. После этого файл-то обновляетсяесли же перечитывание каталога при этом попадает как раз в момент когда размер файла еще равен нулю