Reflector
|
Posted: Fri Sep 24, 2010 18:00 Post subject: |
|
|
vx2 wrote: | бр. что-то я совсем запутался. т.е. во время упаковки, первый запрос SetProcessDataProc вернет мне хендл упаковываемого файла через hArcData? или при упаковке мне не получить ее прогресс вообще? откуда тогда его берет сам тотал?
|
SetProcessDataProc вызывается один раз, причем до PackFiles и в нем передается указатель на встроенную функцию тотала, через которую можно указать текущий прогресс, а не получить При распаковке вызывается сначала OpenArchive, потом SetProcessDataProc, в который передается hArcData созданный в OpenArchive, затем в цикле ReadHeader + ProcessFile на каждый файл, т.е. у тотала есть вся информация по содержимому архива и текущему состоянию потому во время обработки очередного файла он сам может обновлять текущий прогресс. А вот если ты не хочешь чтобы тотал распаковывал по одному файлу, т.к. это может быть очень медленно, то приходится сначала получать список всех файлов, затем за раз передавать его архиватору и тогда уже нужно заботиться об обновлении прогресса самому, как и при упаковке. |
|