Code: |
void __stdcall SetProcessDataProc (HANDLE hArcData, tProcessDataProc pProcessDataProc); |
Code: |
int __stdcall PackFiles (char *PackedFile, char *SubPath, char *SrcPath, char *AddList, int Flags); |
vx2 wrote: |
бр. что-то я совсем запутался. т.е. во время упаковки, первый запрос SetProcessDataProc вернет мне хендл упаковываемого файла через hArcData? или при упаковке мне не получить ее прогресс вообще? откуда тогда его берет сам тотал?
|
CaptainFlint wrote: |
Правда, остаётся вопрос, как же тогда Тотал различает прогрессы при параллельной работе нескольких операций упаковки… Я сам пакер-плагинов пока не писал, могу лишь предположить, что в этом случае различие идёт по имени файла, передаваемого плагином в вызове tProcessDataProc через поле FileName. |
CaptainFlint wrote: |
vx2 пишет не плагин, а программу, которая сама работает с чужими плагинами. Т.е. он сам должен плагину послать вызов функции SetProcessDataProc, имитируя поведение Тотала. Вот он и интересуется, что ему посылать плагину в качестве hArcData, если архив ещё не был открыт. |
Reflector wrote: |
Только что проверил, если паковать одновременно два файла, то pProcessDataProc одинаковый... |
Reflector wrote: |
Значит пока видимо тотал прогрессы при паковке не различает, ведь возможность паковать в фоне появилась только в последней бетке sdk для плагинов и раньше нельзя было паковать параллельно. Надеюсь в финале починят |
CaptainFlint wrote: |
А прогресс-бары у этих фоновых упаковок бегут правильно? Не смешиваются? В финале чего? Реализация SDK же сидит внутри Тотала, обновить что-либо без обновления Тотала невозможно, а Тотал уже давным-давно зафинален. Да и сами SDK, если уж на то пошло, уже из бета-стадии вышли. |
Reflector wrote: |
...
По идее он должен имитировать вызов SetProcessDataProc и передать туда -1 и указатель на свою функцию которая будет получать прогресс обновляемый плагином, а потом уже вызывать PackFiles. |
vx2 wrote: |
как прогресс в этом случае должен работать, если до полной упаковки (ну или ошибки), программа ни чего не может делать(( |
vx2 wrote: |
не совсем понял (я можно сказать начинающий программер), как именно это делается? +наткнулся на другую проблему - программа ждет возврата из PackFiles, т.е. с момента отправки запроса, до момента возврата из плагина, прога полностью останавливается. с другой стороны конечно так и должно быть, но тогда я вообще в тупике и не понимаю в принципе - как прогресс в этом случае должен работать, если до полной упаковки (ну или ошибки), программа ни чего не может делать(( |
Code: |
10:42:24 pre hArchData:-1 |
Reflector wrote: |
...Ты вообще с какими архивами работаешь? Может проще заюзать внешний архиватор... |
output generated using printer-friendly topic mod. All times are GMT + 4 Hours