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: Жёсткие ссылки и внутренний распаковщик RAR 
Author Message
MVV



PostPosted: Thu Jan 27, 2011 19:41    Post subject: Reply with quote

Кстати, насколько я понимаю, в интерфейсе WCX этот вопрос тоже актуален.

Сейчас подебажил - тотал вначале спрашивает, перезаписать ли файл, потом открывает архив, вызывая OpenArchive, потом перечисляет содержимое архива, вызывая ReadHeader, и, когда ReadHeader возвращает структуру с информацией о файле, который юзер извлекает из архива, тотал удаляет результирующий файл и вызывает ProcessFile, указывая результирующий путь.

Причем, если извлекается несколько файлов, тотал спрашивает о перезаписи очередного файла до того как дойдет до него, просматривая архив. О первом спрашивает вообще до открытия архива, потом доходит до него, извлекает, и тут же справшивает о втором, доходит до него, извлекает,.. и так далее. Вообще непонятное поведение - а вдруг архиватор во второй раз вернет список файлов в другом порядке?.. Получается, у тотала уже построен список файлов, которые нужно извлекать, и он тупо идет по списку, причем при переходе к очередному файлу просто продолжает перебирать архив, пока не дойдет до этого файла, совершенно не проверяя, нужно ли извлекать текущий файл, если его имя не совпадает с именем, которое тотал ожидает. ИМХО, разумнее было бы просто перебрать архив, проверяя каждый файл на принадлежность множеству извлекаемых, и для нужных файлов выдавать запрос/вызывать ProcessFile.

Получается, что независимо от того, поддерживает ли архиваторный плагин "мягкую" (назовем это так) перезапись файлов, тотал не предоставляет плагину шанса её использовать.
_________________
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