Total Commander Forum Index Total Commander
Форум поддержки пользователей Total Commander
Сайты: Все о Total Commander | Totalcmd.net | Ghisler.com | RU.TCKB
 
 RulesRules   SearchSearch   FAQFAQ   MemberlistMemberlist   UsergroupsUsergroups   RegisterRegister 
 ProfileProfile   Log in to check your private messagesLog in to check your private messages   Log inLog in 

Single Post  Topic: MultiArc 
Author Message
MVV



PostPosted: Mon May 30, 2016 15:17    Post subject: Reply with quote

Если файлы в папке назначения существуют, то они удаляются до начала копирования туда новых.

Копирование новых выполняется переносом извлечённых архиватором файлов из временной папки посредством вызова функции SHFileOperation. По непонятным причинам (погодные явления, фаза луны, чётность номера дня со времён большого взрыва) функция SHFileOperation время от времени не отрабатывает правильно и возвращает ошибку.

Это происходит уже в коде MultiArc, когда ConPaste и архиватор уже успешно отработали, и когда файлы уже извлечены во временную папку.

Добавлено спустя 39 минут:

Похоже, баг проявляется только для подпапок в архиве, и только если имя папки назначения совпадает с именем подпапки, из которой извлекаются файлы. И дескриптор этой папки открыт, когда копирование проваливается (попробовал закрыть его принудительно - возникла ошибка обращения к закрытому дескриптору, но функция копирования потом отработала нормально). Перезапускаю тотал, пытаюсь извлечь в папку с таким же именем - ошибка, переименовываю папку или захожу в другую - всё ок. Воспроизводимость 100%.

Рецепт остаётся прежним - избавиться от SHFileOperation.
_________________
TCFS2 + TCFS2Tools: Полноэкранный режим и многое другое (обсуждение)
WINCMD.RU: AskParam, CopyTree, NTLinks, Sudo, VirtualPanel…
View user's profile Send private message ICQ Number


Powered by phpBB © 2001, 2005 phpBB Group