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: Уникальность HANDLE в архиваторном плагине 
Author Message
VadiMGP



PostPosted: Sat Jun 27, 2009 11:34    Post subject: Reply with quote

Mowgli wrote:
Люблю аналогии. Вот ещё одна: как понять назначение колеса, если нет телеги?
Я тоже люблю отвечать вопросом на вопрос. Но какой в этом смысл в данном случае? Smile
Mowgli wrote:
В каком случае TC захочет перечитать заново содержимое архива?
Наверняка это неизвестно. Я уже давно не писал архиваторные плагины. Насколько я помню, ТС держит в кэше не более двух последних архивов. Но это эмпирические данные, они могут меняться от версии к версии.
Mowgli wrote:
Если архив не менялся, то зачем ему это может потребоваться?
От греха подальше. Нет четких критериев для определения изменений в архиве. Размер и время - не показатель.
Quote:
И наконец, какова может быть роль плагина в навигации внутри архива?
Для навигации (после входа в архив и до выхода из него) плагин действительно не нужен.
Mowgli wrote:
Правильно написанные деструкторы исключений вызывать не должны. В противном случае они нарушают спецификацию языка C++.
Не спецификацию, а рекомендацию. Например, если класс не содержит конструктора по умолчанию, то нет никаких проблем с исключениями в деструкторе.
Mowgli wrote:
Если бы DestPath был пустой строкой, то да. А так он NULL. Всё равно проверять надо.
Я никогда не пользовался STL, так что тебе виднее. Я пользуюсь ATL или MFC. Там дополнительных проверок не требуется.
Mowgli wrote:
Для начала hArcData - это ещё не текущий файл в архиве.
А я и не утверждал , что hArcData - это текущий файл. Я утверждал, что он ассоциирован с текущим файлом. Причем тобой же, во время предшествующего вызова ReadHeader. Почему для получения собственной ассоциации из собственного итератора нужно строить список файлов да ещё с немалыми усилиями - мне непонятно.
Mowgli wrote:
При этом TC очевидно полагается на то, что список файлов вторично построенный плагином и его, сохранённый ранее, будут в точности совпадать. Если они не будут совпадать, то начнутся большие проблемы.
Нет, ТС ни на что не полагается и просто заново начинает делать перебор всех файлов. И когда твой плагин во время очередного вызова ReadHeader возвращает нужный файл, то последующий вызов ProcessFile будет с параметром PK_EXTRACT.
View user's profile Send private message


Powered by phpBB © 2001, 2005 phpBB Group