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: как узнать прогресс при упаковке? 
Author Message
Reflector



PostPosted: Fri Sep 24, 2010 18:00    Post subject: Reply with quote

vx2 wrote:
бр. что-то я совсем запутался. т.е. во время упаковки, первый запрос SetProcessDataProc вернет мне хендл упаковываемого файла через hArcData? или при упаковке мне не получить ее прогресс вообще? откуда тогда его берет сам тотал?

SetProcessDataProc вызывается один раз, причем до PackFiles и в нем передается указатель на встроенную функцию тотала, через которую можно указать текущий прогресс, а не получить Smile При распаковке вызывается сначала OpenArchive, потом SetProcessDataProc, в который передается hArcData созданный в OpenArchive, затем в цикле ReadHeader + ProcessFile на каждый файл, т.е. у тотала есть вся информация по содержимому архива и текущему состоянию потому во время обработки очередного файла он сам может обновлять текущий прогресс. А вот если ты не хочешь чтобы тотал распаковывал по одному файлу, т.к. это может быть очень медленно, то приходится сначала получать список всех файлов, затем за раз передавать его архиватору и тогда уже нужно заботиться об обновлении прогресса самому, как и при упаковке.
View user's profile Send private message


Powered by phpBB © 2001, 2005 phpBB Group