MVV
|
Posted: Mon May 30, 2016 12:43 Post subject: |
|
|
Я сам не понимаю, как это воспроизвести, оно то воспроизводится, то нет, независимо от наличия точек останова, просмотра файла по F3 и т.д. Но код возврата архиватора неизменно равен 0.
Добавлено спустя 8 минут:
Вообще, кажется, есть объяснение: файлы извлекаются во временную папку, потом перемещаются в папку назначения, а потом временная папка удаляется, при этом используется функция оболочки SHFileOperation. Технически, если оболочка попытается удалить файлы до окончания переноса, мы и получим нашу ситуацию. Надо смотреть, можно ли как-то контролировать процесс...
Добавлено спустя 22 минуты:
Да, функция перемещения возвращает ошибку, когда баг проявляется!
Код ошибки 183 или 0xB7, и, согласно описанию функции,
Quote: | DE_ERROR_MAX 0xB7 MAX_PATH was exceeded during the operation. |
Хотя, тут описан другой баг этой функции с таким же внутренним поведением.
В общем, надо избавляться от этой тупой проводниковой функции и переносить структуру папок вручную. _________________ TCFS2 + TCFS2Tools: Полноэкранный режим и многое другое (обсуждение)
WINCMD.RU: AskParam, CopyTree, NTLinks, Sudo, VirtualPanel… |
|